我有一个导航仪的代码,我就像手风琴一样工作。
展示我的导航器的图片:
忽略“奇怪的人物”,这是我的语言。
这是它如何构建的代码示例: http://jsfiddle.net/uXA7E/3/
如您所见,导航器的深度最多为3级。
我想要实现的是,如果用户使用jQuery浏览id为“13”左右的类别,我将选择类为13的元素,然后显示一直到它并用某种颜色标记它。
链接的构建方式如下:
<a class="13" href="category.php?cid=13">בלוקים ודפדפות</a>
我的页面上有一个元素,其中包含我正在查看的ID:
<input type="hidden" value="13" id="cid">
这是我尝试过的代码:
var until = document.getElementsByClassName('depth-two');
$("."+$("#cid").val()).prevUntil(until,"ul").show();
和
$("."+$("#cid").val()).prevAll("ul").show();
不幸的是,它根本不起作用。
还有其他想法吗?
答案 0 :(得分:2)
我觉得你差不多了。试试这个:
$("."+$("#cid").val()).parents("ul").show();
jQuery.prevAll
匹配所有兄弟姐妹,但您希望与父母匹配。
兄弟姐妹是另一个元素的next
。例如:
<div>
<p>Sibling 1</p>
<p>Sibling 2</p>
</div>
Sibling1和Sibling 2是彼此的兄弟姐妹。他们共享同一个父母。他们都是同一父母的孩子。
但是你想搜索父母。
<ul id="A">
<li id="AA">
<ul id="AAA">
<li id="AAAA"></li>
<li id="AAAB"></li>
</ul>
</li>
<li id="AB">
<ul id="ABA">
<li id="ABAA"></li>
<li id="ABAB"></li>
</ul>
</li>
</ul>
参考上面的示例,有一个带有id="A"
的单个顶级父元素。我们将通过id
。
AA
有兄弟AB
和父A
。AB
有兄弟AA
和父A
。AAA
包含父AA
和祖父母A
。ABA
包含父AB
和祖父母A
。ABAA
有兄弟ABAB
,父[{1}},祖父母ABA
和曾祖父母AB
。A
有兄弟ABAB
,父[{1}},祖父母ABAA
和曾祖父母ABA
。答案 1 :(得分:1)
我认为代替prevUntil
或prevAll
(选择兄弟姐妹)而不是parents
method:
$(liselector).parents('ul').slideDown().prev('.do').text('-');
(见updated demo)