我有以下html,我想在父div类中添加类,它是class =“boxgrid”,具体取决于teaser_title ...
<div class="boxgrid">
<img src="my_image1.jpg" alt="Image 1">
<div class="cover boxcaption">
<div class="teaser-title">Image 1</div>
</div>
</div>
<div class="boxgrid">
<img src="my_image2.jpg" alt="Image 2">
<div class="cover boxcaption">
<div class="teaser-title">Image 2</div>
</div>
</div>
现在,我尝试了这段代码......
$('.teaser-text').each(function() {
var teasertext = $('.teaser-text').text().replace(/ /g,"_").toLowerCase();
$('.boxgrid').addClass(teasertext);
});
以上代码输出如下。
<div class="boxgrid **image_1image_2**">
<img src="my_image1.jpg" alt="Image 1">
<div class="cover boxcaption">
<div class="teaser-title">Image 1</div>
</div>
</div>
我做错了什么?有谁愿意帮我解决这个小问题。感谢..
答案 0 :(得分:2)
使用$(this)
$('.teaser-text').each(function() {
var teasertext = $(this).text().replace(/ /g,"_").toLowerCase();
$(this).closest('.boxgrid').addClass(teasertext);
});
答案 1 :(得分:0)
您正在使用'.boxgrid'类名称向元素添加类。 所以每次它都会找到第一个带有'boxgrid'类的div。
而不是$('.boxgrid').addClass(teasertext);
使用此,
$(this).closest('.boxgrid').addClass(teasertext);
这将找到类名为“boxgrid”的最接近的元素。