如果孩子包含单词“Group”,我想在其父级之前添加一些内容。如何将其设置为有条件的?
$("#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>
答案 0 :(得分:4)
这是您要找的内容:http://jsfiddle.net/NLfmU/1/ 或 http://jsfiddle.net/anWRa/
使用.parent
api前置到当前孩子的父母
希望它符合需要:)
,如果我遗漏了任何东西,请告诉我们!
<强>代码强>
$("#breadcrumbs ul li:nth-child(4):contains('Group')").css("display","block").parent().prepend("<p>relevant note about Groups</p>");
答案 1 :(得分:4)
试试这个:
var $elem = $("#breadcrumbs ul li:contains('Group')");
if ($elem.length) {
$elem.css('display', 'block').parent().prepend("<p>relevant note about Groups</p>")
}
答案 2 :(得分:4)
我建议使用不同的方法:
$('ul li:eq(3):contains("group")').closest('nav')
.css('display','block')
.prepend('<p>relevant note about Groups</p>');
这不是明确有条件的,但需要存在包含“group”一词的li
才能完成任何操作。
答案 3 :(得分: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>");