2016-03-14 63 views
0

在下面的html我点击id = 2然后id = 2,我怎么能在jQuery中使用兄弟使用span标记Harr kane值?访问孩子价值jquery

<div class="parentId"> 
    <span class="span1"> 
     <i class="i1">p</i> 
     <span>Harr Kane</span> 
    </span> 
    <a class="a1" href=""> 
    <i id="2" class="i1">i1</i> 
    </a> 
</div> 

回答

2
$(this).parent().prev().find('span:first').text(); 

$(this) - 要选择当前点击的元素。

.parent() - 将给出当前选定元素的父项。

.prev() - 将选择前一个元素。

.find() - 用于查找选择内的元素。

:first - 是一个伪选择器,用于选择第一个匹配选择。

.text() - 提取选择中的文本

工作演示

$(document).ready(function(){ 
 
    $("#2").click(function(e){ 
 
     e.preventDefault() 
 
     alert($(this).parent().prev().find('span:first').text()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="parentId"> 
 
    <span class="span1"> 
 
     <i class="i1">p</i> 
 
     <span>Harr Kane</span> 
 
    </span> 
 
    <a class="a1" href=""> 
 
    <i id="2" class="i1">i1</i> 
 
    </a> 
 
</div>

+0

您好@Rino拉吉如何可以设置当前选择的元素的文本值即中的jquery I1 shanky

+1

'$( '#2' ).text('hi')'演示https://jsfiddle.net/Rino_Raj/Lvm0fue0/ –

+0

感谢它的工作我使用$(this).text() – shanky

0

$('#2').click(function() { 
 

 
    console.log($(this).closest('div.parentId').find('.span1').find('span').text()) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div class="parentId"> 
 
    <span class="span1"> 
 
     <i class="i1">p</i> 
 
     <span>Harr Kane</span> 
 
    </span> 
 
    <a class="a1" href=""> 
 
    <i id="2" class="i1">i1</i> 
 
    </a> 
 
</div>

使用.closest()获取div。 使用.find()来定位正确的元件