在div的click事件中,我正在尝试为该div的父div的第一个子节点的文本值分配一个变量。例如,html是这样的:
<div class="parentDiv">
<div class="firstChild">
1234
</div>
<div class="secondChild">
Hello
</div>
<div class="thridChild">
Bye
</div>
</div>
所以我希望它只要点击父div中的任何内容,就可以为firstChild div分配一个变量。你会怎么做呢?
答案 0 :(得分:1)
您可以使用:
var text = $('.parentDiv:nth-child(1)').html();
答案 1 :(得分:0)
您可以使用子>
和:first
选择器的组合。像这样:
var divValue = $(".parentDiv>div:first").text();
这将选择第一个子div元素并检索它的文本值。
当然,如果你有一个课程,你可以使用$(".firstChild").text();
,但我认为这只是为了帮助解释这个问题。
答案 2 :(得分:0)
$(function(){
$('.parentDiv div').click(function(){
var $parent = $(this).closest('.parentDiv');
//Do whatever you want with $parent
});
});
使用jQuery tree traversal查找父(.closest
位)
答案 3 :(得分:0)
.parentDiv:first-child
或
.parentDiv:first
或
.parentDiv:nth-child(1)
甚至是
.firstChild:first-of-type
答案 4 :(得分:0)
您不希望使用第二个选择器,因为这会降低性能。
而是使用.find()
var text = 'new text';
$('.parentDiv').on('click', function() {
$(this).find('div:first').html(text);
});