2016-11-07 44 views
-1

我试图让按钮被点击的父div内的一些div的文本。这是一个示例代码如何获得接近按钮点div的文本

​​

这里parentDiv重复夫妇divToFind的时间和文本是在每个parentDiv不同。每当在parentDiv中点击删除按钮时,我想获取divToFind的文本。

我已经试过这

$(this).closest('.parentDiv').children('#divToFind').text(); 

但没有什么是返回

+3

请勿在单个文档中使用两个相同的ID。 –

+0

有趣的人给-1没有告诉为什么。是因为有问题还是因为他们不喜欢你犯了错误。如果是后者则是击败了整个stackoverflow的目的。就像不鼓励一个人提问一样。 – jas

+0

@jss澄清,我没有**给你-1。我认为这个问题很好。 –

回答

2

不要在单个文档中使用相同的ID。你应该使用类来代替。随着课堂,它工作正常。

在中提到,文档中不能有多个元素具有相同的id值。

$(function(){ 
 
    $("button").on("click", function(){ 
 
    var t = $(this).closest('.parentDiv').children('.divToFind').text(); 
 
    console.log(t); 
 
    }) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parentDiv" > 
 
    <div class="divToFind" style="display:none">text</div> 
 
    <div class="btn-group"> 
 
     <button class="button" type="button" >Remove</button> 
 
    </div> 
 
</div>     
 
<div class="parentDiv" > 
 
    <div class="divToFind" style="display:none">text2</div> 
 
    <div class="btn-group"> 
 
     <button class="button" type="button">Remove</button> 
 
    </div> 
 
</div>

0

是的,它真的,你不应该使用相同的ID为HTML文档中的2个元素,但是下面是代码,可以帮助你得到给出的div的文本。

有2种方式:

$(this).parent().prev('#divToFind').text(); 

$(this).parent().prev().text(); 

prev和next让我们穿越在同一水平上。你可以在里面提供选择器来获得特定的元素。

在你的例子中它的ID,你可以更新ID到一些CSS类,这样你就不必拥有具有相同ID的元素。

相关问题