2

如果孩子包含“组”这个词,我想在它的父母前面加上一些东西。如何将其设置为有条件的?

$("#breadcrumbs ul li:nth-child(4):contains('Group')").css("display","block");
$("#breadcrumbs").prepend("<p>relevant note about Groups</p>");

为了

<nav id="breadcrumbs" role="navigation">
<ul>
<li>Home</li>
<li>Section</li>
<li>People</li>
<li>Group 1</li>
</ul>
</nav>

小提琴

4

4 回答 4

4

这是您要查找的内容吗:http: //jsfiddle.net/NLfmU/1/ http://jsfiddle.net/anWRa/

使用.parentapi 附加到当前孩子的父母

希望它符合需要:),如果我错过了什么,请告诉我!

http://jsfiddle.net/NLfmU/

代码

$("#breadcrumbs ul li:nth-child(4):contains('Group')").css("display","block").parent().prepend("<p>relevant note about Groups</p>");
​
于 2012-09-02T22:21:50.457 回答
4

尝试这个:

var $elem = $("#breadcrumbs ul li:contains('Group')");
if ($elem.length) {
    $elem.css('display', 'block').parent().prepend("<p>relevant note about Groups</p>")
}   

http://jsfiddle.net/FqzGs/5/

于 2012-09-02T22:23:17.033 回答
4

我建议使用不同的方法:

$('ul li:eq(3):contains("group")').closest('nav')
    .css('display','block')
    .prepend('<p>relevant note about Groups</p>');

这不是明确的条件,但需要li包含单词“组”的存在才能执行任何操作。

于 2012-09-02T22:24:25.357 回答
2

你离得太近了!append是你所追求的,而不是prepend.

Prepend 会将信息放在您的选择之前,然后append将其放在后面。

我猜你想把它放在符合你要求的那个之后,而不是在所有列表之前?如果是这样,请查看 jsfiddle :)。

我为您创建了一个jsfiddle,向您展示如何操作。

代码

$("#breadcrumbs ul li:nth-child(4):contains('Group')").css("display","block")
   .append("<p>relevant note about Groups</p>");

​</p>

于 2012-09-02T22:22:02.017 回答