如何从Jquery中找到Another Div中存在的元素

时间:2014-01-10 13:46:51

标签: jquery

如何找到其他Div的元素

HTML

<div>
    <div>
      <a class="txt">Some text</a>
    </div>


    <div>
      <a class="txt">Some text</a>
      <button id="button"/>
    </div>
</div>

Jquery的

$(".button").bind("mouseover", function () {
    $(this).siblings(".txt").text("some more text"));
});

如果元素存在于同一个Div中,它可以正常工作,但如果我想捕获不同div中存在的元素,那么它将无法工作(显然)所以..任何答案如何使其工作?

3 个答案:

答案 0 :(得分:2)

示例:http://jsfiddle.net/wrxsti85/Bh3Ex/

您需要为特定情况找到特定的DOM traversion方法。像这样:

$(this).parent().prev().find('.txt').text("some more text");

.parent()

.prev()

.find()

还有其他一些内容,例如.children(),但您需要找到适用于您的用例的内容。

修改:http://api.jquery.com/category/traversing/

希望这有帮助!

答案 1 :(得分:0)

我会这样做,使用更加可维护的方式:

jsFiddle

HTML:

<div class="container">
    <div>
      <a class="txt">Some text</a>
    </div>   
    <div>
      <button class="button"/>
    </div>
</div>

jQuery的:

$(".button").on("mouseover", function () { //or still use bind depending your jQuery version
    $(this).closest(".container").find('.txt').text("some more text");
});

答案 2 :(得分:0)

改变这个:

$(this).siblings(".txt").text("some more text"));

到此:

$(this).closest('div').siblings('div').find('.txt').text('some more text');