我觉得我必须在我的一些jQuery函数中使用太多的.children()
。
这是我的HTML:
<div class="goal-small-container">
<div class="goal-content">
<div class="goal-row">
<span class="goal-actions">
下面是我的jQuery:
$('.goal-small-container').hover(function() {
$(this).children('.goal-content').children('.goal-row').children('.goal-actions').css({visibility: "visible"});
}, function () {
$(this).children('.goal-content').children('.goal-row').children('.goal-actions').css({visibility: "hidden"});
});
有没有更好的方法?我怎样才能减少我的jQuery函数中使用的孩子数量?
发布于 2010-10-04 09:13:53
.find('.goal-content .goal-row .goal-action').whatever()
或者更简单地说:
.find('.goal-action').whatever()
发布于 2010-10-04 09:13:42
你听说过.find()
吗?
$('.goal-small-container').hover(function() {
$(this).find('.goal-actions').css({visibility: "visible"});
}, function () {
$(this).find('.goal-actions').css({visibility: "hidden"});
});
发布于 2010-10-04 09:13:50
而不是
$(this).children('.goal-content').children('.goal-row').children('.goal-actions').css({visibility: "visible"});
您可以使用:
$(this).find('> .goal-content > .goal-row > .goal-actions').css({visibility: "visible"});
有着完全相同的含义。但是,如果这不可能是模棱两可的(.goal-actions
只会出现在标记的结构中),您可以只使用find('.goal-actions')
。
https://stackoverflow.com/questions/3852260
复制相似问题