我在处理 DOM 元素时遇到问题。
这是我的 HTML:
<div class="movie__feature">
<a href="#" data-value="86" data-user="35" class="voting plus">▲</a>
</div>
<div class="movie__images">
<span class="similarity_points">9</span>
<a href="http://www.filmypodobnedo.pl/Top-Gun/" title="Filmy podobne do Top Gun">
<img alt="Filmy podobne do Top Gun" src="http://www.filmypodobnedo.pl/photos/Top-Gun.jpg"/>
</a>
</div>
<div class="movie__feature">
<a href="#" data-value="86" data-user="35" class="voting minus">▼</a>
</div>
</div>
当我点击 .plus 类时,我需要转到 .similarity。
这是我的jQuery:
$('.plus').click(function(e){
e.preventDefault();
var self = $(this);
self.closest('div').find('.similarity_points').text('10');
}
我的数字应该是什么样子?
最接近的div 不包含.similarity_points
作为后代。你可以使用这个:
self.closest('div').parent().find('.similarity_points').text('10');
但是,请注意,高度依赖 DOM 结构的代码也是脆弱的。
在你的代码中,你要上升到.movie__feature
,然后你正在寻找.similarity_points
类的孩子。
您需要再上一级,然后查找子元素:
$('.plus').click(function () {
$(this).closest('div').parent().find('.similarity_points').text('10');
return false;
});