我想做这样的事情:
<div class="show" >Element 1</div>
<div class="show" >Element 2</div>
<div class="show" >Element 3</div>
$("div.show").click(function () {
$current_show = $(this);
$("div.show").each(function () {
if ($(this) != $current_show ) //here i want to check current element is not same
{
$(this).text('Write something');
}
});
})
或者还有另一种方法吗?
答案 0 :(得分:5)
无需 each()
,您可以使用 not()
来避免点击元素
$("div.show").click(function() {
$("div.show").not(this).text('Write something');
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="show">Element 1</div>
<div class="show">Element 2</div>
<div class="show">Element 3</div>
&#13;
答案 1 :(得分:2)
如果您正在执行其他设置相同文字的操作,请修改.each()
以过滤当前元素:
$("div.show").not(this).each(....)
否则,您无需迭代元素以设置相同的文本。使用pranav提供的解决方案。
答案 2 :(得分:-2)
您可以检查$(this).text() != $current_show.text()
。