Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在嵌套的div中按类获取元素_Jquery - Fatal编程技术网

Jquery 在嵌套的div中按类获取元素

Jquery 在嵌套的div中按类获取元素,jquery,Jquery,我需要在单击类“edit”后使用jquery获取最接近的特定消息输入文本 请注意,此代码的倍数为 $(".message-input").text() 这对我不好 代码如下: <div class="1"> <div class="2"> <div class="3"> <div class="3a"></div> <div class="3b"> <div cla

我需要在单击类“edit”后使用jquery获取最接近的特定消息输入文本

请注意,此代码的倍数为

$(".message-input").text()
这对我不好

代码如下:

<div class="1">
  <div class="2">
    <div class="3">
      <div class="3a"></div>
      <div class="3b">
        <div class="3b-inner">
        <span>aaa</span>
        <span>aaa</span>
        <p class="message-input">Get this message after click</p>
        </div>
      </div>
      <div class="3c">
      <i></i>
      <ul>
        <li class="edit">On click this button</li>
        <li class="delete"></li>
      </ul>
      </div>
    </div>
  </div>
</div>

aaa
aaa

单击后获取此消息

    单击此按钮

假设您发布的结构重复,这是一种方式:

$(".edit").click(function(){
    var text = $(this).closest("div.3").find(".message-input").text()
})
例如:

$(“.edit”)。单击(函数(){
var text=$(this).closest(“div.3”).find(“.message input”).text();
console.log(文本)
})

aaa
aaa

单击1后获取此消息

    单击此按钮
aaa aaa 单击2后获取此消息

    单击此按钮
aaa aaa 单击3后获取此消息

    单击此按钮

假设您发布的结构重复,这是一种方式:

$(".edit").click(function(){
    var text = $(this).closest("div.3").find(".message-input").text()
})
例如:

$(“.edit”)。单击(函数(){
var text=$(this).closest(“div.3”).find(“.message input”).text();
console.log(文本)
})

aaa
aaa

单击1后获取此消息

    单击此按钮
aaa aaa 单击2后获取此消息

    单击此按钮
aaa aaa 单击3后获取此消息

    单击此按钮

此代码所说的是:

从单击的
.edit
元素中,在最近的父级
div
之前查找
div
,以查找
。消息输入

$(.edit”)。在(“单击”,函数(){
var myText=$(this).closest(“div”).prev(“div”).find(“.message input”).html();
console.log(myText);
});

aaa
aaa

单击后获取此消息

    单击此按钮

此代码所说的是:

从单击的
.edit
元素中,在最近的父级
div
之前查找
div
,以查找
。消息输入

$(.edit”)。打开(“单击”,函数(){
var myText=$(this).closest(“div”).prev(“div”).find(“.message input”).html();
console.log(myText);
});

aaa
aaa

单击后获取此消息

    单击此按钮

您能解释一下div.3吗?这不能保证在div中找到最接近的
消息输入。这还假设
div.3
始终是所需的包装。这就是说,如果用户总是知道类包装器,并且这个类总是最接近的,并且其中只有一个
消息输入
类,那么这个解决方案就可以工作了。@GiladAdar
@Vector-它是基于OP发布的内容。好的,谢谢,我用了“prev”来表示最近,只是对我有效,我不明白什么是div.3,谢谢。你能解释一下div.3吗?这不能保证在div中找到最接近的
消息输入。这还假设
div.3
始终是必需的包装。这就是说,如果用户总是知道类包装器,并且这个类总是最接近的,并且其中只有一个
消息输入
类,那么这个解决方案就可以工作了。@GiladAdar
@Vector-它是基于OP发布的内容。好的,谢谢,我用了“prev”来表示最近,只是对我有效,我不明白什么是div.3,无论如何,谢谢。没有使用类$(this)。parent().parent().prev('div')。find('p:first')。text()这里是一把没有使用类$(this)。parent().parent().prev('div')。find('p:first')。text()这里是一把小提琴