Reputation: 6976
I have some HTML that looks like this,
<div class="suit-gallery">
<img src="../images/galleries/business/DSC_0035_sm.jpg" alt="Stylish button 2 business suit with contrast buttonholes light weight high twist cool wool" width="164" height="247" />
<div class="suit-gallery-btn">
<a href="../images/galleries/business/DSC_0035.jpg" rel="lightbox[business]" title="Stylish button 2 suit with contrast buttonholes light weight high twist cool wool Holland & Sherry from £695, choice of 90 designs/colours">Click for more information</a>
</div>
</div>
<div class="suit-gallery">
<img src="../images/galleries/business/DSC_0010_sm.jpg" alt="Classic button 2 business suit with an out ticket pocket. Grey wool Holland & Sherry Perennial" width="164" height="247" />
<div class="suit-gallery-btn">
<a href="../images/galleries/business/DSC_0010.jpg" rel="lightbox[business]" title="Classic button 2 suit with an out ticket pocket. Grey wool Holland & Sherry Perennial from £895, choice of 120 designs/colours" >Click for more information</a>
</div>
</div>
<div class="clear"> </div>
<div class="suit-gallery">
<img src="../images/galleries/business/DSC_0024_sm.jpg" alt="Modern 2 button business suit grey 100% Yorkshire worsted" width="164" height="247" />
<div class="suit-gallery-btn">
<a href="../images/galleries/business/DSC_0024.jpg" rel="lightbox[business]" title="Modern 2 button suit 100% Yorkshire worsted from £795 choice of 85 designs/colours" >Click for more information</a>
</div>
I am wanting to add a sharethis mail link to each instance of .suit-gallery-btn
, however I have no idea how do this, I would also like to a title of link of link into the caption option, and also image URL into the image option, below is what I have currently,
jQuery(document).ready(function(){
stWidget.addEntry({
"service":"email",
"element": document.getElementById('button_1'),
"url":"http://sharethis.com",
"title":"What do you think to this suit?",
"type":"large",
"text":"What do you think to this suit?" ,
"image": "",
"summary":""
});
});
I also know that I will have to select the element based on a class and not the id, I need to do this for however many .suit-gallery-btn
there are.
I am toally lost.
Upvotes: 0
Views: 1247
Reputation: 477
Try something like this:
$(".suit-gallery-btn").each(function(){
$(this).append("<span class='share-span'></span>"); // ShareThis button will be inserted in this span, which we are appending to each <div class="suit-gallery-btn">
var suitLink = $(this).find('a'); // the "click more information" link. you will need the href and title from this element.
stWidget.addEntry({
"service":"email",
"element": $(this).find('.share-span')[0],
"url":suitLink.attr('href'),
"title":suitLink.attr('title'),
"type":"large",
"text":suitLink.attr('title'),
"image": suitLink.attr('href'),
"summary":suitLink.attr('title')
});
});
Here is a JS fiddle to demonstrate: http://jsfiddle.net/RR26b/
(There are errors from invalid image references, and from lack of a ShareThis Publisher Key, but the concept should work)
Upvotes: 1