Javascript Jquery附加方法 不在这里
我只想在li标记有子ul标记时附加一些文本。幸运的是,jQuery有一个Javascript Jquery附加方法 不在这里,javascript,jquery,jquery-selectors,jquery-append,Javascript,Jquery,Jquery Selectors,Jquery Append,我只想在li标记有子ul标记时附加一些文本。幸运的是,jQuery有一个:has()选择器 <ul> <li><a href="">not here</a></li> <li><a href="">append some text only here</a> <ul> <li><a href="">not here</a><
:has()
选择器
<ul>
<li><a href="">not here</a></li>
<li><a href="">append some text only here</a>
<ul>
<li><a href="">not here</a></li>
<li><a href="">not here</a></li>
<li><a href="">not here</a></li>
</ul>
</li>
<li><a href=""></a>not here</li>
</ul>
或使用
看起来您想将文本放在
中,因此一旦找到
,请查找
中的子项
-
- 不在这里
$(文档).ready(函数(){
$('li')。具有('ul')。每个(函数(索引){
$(this.find('a').html(“test”);
});
});
要将文本添加到何处?在您的示例中,无li
具有ul
作为child@steo-事实上,其中一个是@adeneo抱歉,对我想在tag@user2333124-那就加上这个?编辑答案!这也会将文本添加到最后一个标记中。请检查小提琴。@user2333124-如果要替换文本,请这样说,不要询问如何添加文本!
$('li:has(ul) > a').append('something');
$('li a').text(function(i,v){
if($(this).parent().children('ul').length){
return v == 'append some text only here';
}
});
$('li:has(ul)').children('a').text('append some text only here');
$('li:has(ul)').children('a').text('foobar');
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://code.jquery.com/jquery-2.1.1.js">
</script>
</head>
<body>
<ul>
<li><a href="">not here</a></li>
<li>
<a href="">append some text only here</a>
<ul>
<li><a href="">not here</a></li>
<li><a href="">not here</a></li>
<li><a href="">not here</a></li>
</ul>
</li>
<li><a href=""></a>not here</li>
</ul>
<script>
$(document).ready(function () {
$('li').has('ul').each(function (index) {
$(this).find('a').html("test");
});
});
</script>
</body>
</html>