我有一个超级简单的问题,而不是做这样的事情:
$(".one").click(function() {
$(this).find('.two').find('.three').css...
});
使用此 HTML:
<div class="one">
<div class="two">
<div class="three"></div>
</div>
</div>
有没有一种速记方法可以让您以某种方式跳过“查找”一词?
我有一个超级简单的问题,而不是做这样的事情:
$(".one").click(function() {
$(this).find('.two').find('.three').css...
});
使用此 HTML:
<div class="one">
<div class="two">
<div class="three"></div>
</div>
</div>
有没有一种速记方法可以让您以某种方式跳过“查找”一词?
$('#one #two #three')
但请记住,ID
在一个页面中应该是唯一的
所以$('#three').css()
应该足够了
当元素是class
元素或tagNames
$('.one .two .three') <--
$('div span p') <-- These are fine
所有这些都应该工作
// Using find to target the class
$(this).find('.two').find('.three').css('border', '1px dashed red');
// Using find to target the class
$(this).find('.two .three').css('border', '1px dashed red');
// Using the this context
$('.two .three',this).css('border', '1px dashed red');
// Using the this context and immediate children
$('> .two > .three',this).css('border', '1px dashed red');
>
只会得到直系子女。其他 2 个this
用作上下文
使用选择器上下文http://api.jquery.com/jQuery/#jQuery1
$(".one").on('click', function() {
$('.three', this).css...
});
这是最简单的方法。
还
$(".one").click(function() {
$(this).find('.three').css...
});
可以正常工作,您不必遍历每一步。