Javascript 隐藏除所选LI之外的所有LI
我想在某个UL中隐藏除我选择的LI之外的所有其他LIJavascript 隐藏除所选LI之外的所有LI,javascript,jquery,html-lists,Javascript,Jquery,Html Lists,我想在某个UL中隐藏除我选择的LI之外的所有其他LI <ul> <li><div></div></li> <li><div></div></li> </ul> <ul> <li><div></div></li> -- HIDE <li><div></div>&
<ul>
<li><div></div></li>
<li><div></div></li>
</ul>
<ul>
<li><div></div></li> -- HIDE
<li><div></div></li> -- SELECT
<li><div></div></li> -- HIDE
</ul>
<ul>
<li><div></div></li>
<li><div></div></li>
</ul>
试过这样的吗
$(this).closest('ul').find('li').not(this).hide();
或
试过这样的吗
$(this).closest('ul').find('li').not(this).hide();
或
获取包含所有相关
元素的jQuery元素集,然后删除所选元素。例如:
$('ul#mylist li').not(selector).hide();
从:
给定一个表示一组DOM元素的jQuery对象,.not()方法从匹配元素的子集构造一个新的jQuery对象。针对每个元件对提供的选择器进行测试;与选择器不匹配的元素将包含在结果中
如果有对元素对象的引用,您也可以给它本身,而不是选择器。获取包含所有相关
元素的jQuery元素集,然后删除所选元素。例如:
$('ul#mylist li').not(selector).hide();
从:
给定一个表示一组DOM元素的jQuery对象,.not()方法从匹配元素的子集构造一个新的jQuery对象。针对每个元件对提供的选择器进行测试;与选择器不匹配的元素将包含在结果中
如果有对元素对象的引用,也可以为元素对象本身指定选择器,而不是选择器。这应该可以:
$( 'ul li' ).click( function( e ) {
// by default, hide all li's
$( 'ul li' ).hide();
// show only the selected li
$( this ).show();
});
希望这能有所帮助。这应该可以:
$( 'ul li' ).click( function( e ) {
// by default, hide all li's
$( 'ul li' ).hide();
// show only the selected li
$( this ).show();
});
希望这有帮助。您从单击的div向上遍历DOM,然后使用
隐藏其他元素。not($(this).parent()).toggle()
->而不是围绕此div的li
$('div').click(function () {
$(this).closest('ul').find('li').not($(this).parent()).toggle();
});
如果您不希望用户能够推翻他们的决定,可以将.toggle()
替换为.hide()
JS Fiddle:从单击的div向上遍历DOM,然后使用隐藏其他元素。not($(this).parent()).toggle()
->而不是围绕该div的li
$('div').click(function () {
$(this).closest('ul').find('li').not($(this).parent()).toggle();
});
如果您不希望用户能够推翻他们的决定,可以将.toggle()
替换为.hide()
JS小提琴: