如何识别元素是相同的,在每个()函数中单击?

时间:2015-10-26 13:38:32

标签: javascript jquery html css

我想做这样的事情:

<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');
            }
        });
    })

或者还有另一种方法吗?

3 个答案:

答案 0 :(得分:5)

无需 each() ,您可以使用 not() 来避免点击元素

&#13;
&#13;
$("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;
&#13;
&#13;

答案 1 :(得分:2)

如果您正在执行其他设置相同文字的操作,请修改.each()以过滤当前元素:

$("div.show").not(this).each(....)

否则,您无需迭代元素以设置相同的文本。使用pranav提供的解决方案。

答案 2 :(得分:-2)

您可以检查$(this).text() != $current_show.text()