Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何添加只有兄弟元素的元素的属性值_Javascript_Jquery - Fatal编程技术网

Javascript 如何添加只有兄弟元素的元素的属性值

Javascript 如何添加只有兄弟元素的元素的属性值,javascript,jquery,Javascript,Jquery,我有一个如下的场景: <ul class="mainnav"> <li><a href="http://example.com">title</a></li> <li> <a href="http://example.com">title</a> <ul> <li><a href="http://example.com">title</a>

我有一个如下的场景:

<ul class="mainnav">
<li><a href="http://example.com">title</a></li>
<li>
  <a href="http://example.com">title</a>
  <ul>
    <li><a href="http://example.com">title</a></li>
    <li><a href="http://example.com">title</a></li>
    <li><a href="http://example.com">title</a></li>
  </ul>
</li>
<li><a href="http://example.com">title</a></li>
<li>
  <a href="http://example.com">title</a>
  <ul>
  <li><a href="http://example.com">title</a></li>
  <li><a href="http://example.com">title</a></li>
  <li><a href="http://example.com">title</a></li>
</ul>
</li>
</ul>
我想将jQuery中的href属性值更改为“#”,仅用于具有子导航的导航

比如说

<ul class="mainnav">
<li><a href="http://example.com">title</a></li>
<li>
  <a href="#">title</a>
  <ul>
    <li><a href="http://example.com">title</a></li>
    <li><a href="http://example.com">title</a></li>
    <li><a href="http://example.com">title</a></li>
  </ul>
</li>
<li><a href="http://example.com">title</a></li>
<li>
  <a href="#">title</a>
  <ul>
  <li><a href="http://example.com">title</a></li>
  <li><a href="http://example.com">title</a></li>
  <li><a href="http://example.com">title</a></li>
</ul>
</li>
</ul>
有人知道怎么做吗?

试试这个:-

$('a').each(function(){
  if($(this).next('ul').find('a').length){
     $(this).attr('href','#')
  }
});
$('a')。每个(函数(){
if($(this).next('ul').find('a').length){
$(this.css('color','red'))
}
});

试试这个:-

$('a').each(function(){
  if($(this).next('ul').find('a').length){
     $(this).attr('href','#')
  }
});
$('a')。每个(函数(){
if($(this).next('ul').find('a').length){
$(this.css('color','red'))
}
});

试试这个:-

$('a').each(function(){
  if($(this).next('ul').find('a').length){
     $(this).attr('href','#')
  }
});
$('a')。每个(函数(){
if($(this).next('ul').find('a').length){
$(this.css('color','red'))
}
});

试试这个:-

$('a').each(function(){
  if($(this).next('ul').find('a').length){
     $(this).attr('href','#')
  }
});
$('a')。每个(函数(){
if($(this).next('ul').find('a').length){
$(this.css('color','red'))
}
});


您可以针对
ul
后代
.mainnav

$('.mainnav ul').prev('a').attr('href', '#')

您可以针对
.mainnav

$('.mainnav ul').prev('a').attr('href', '#')

您可以针对
.mainnav

$('.mainnav ul').prev('a').attr('href', '#')

您可以针对
.mainnav

$('.mainnav ul').prev('a').attr('href', '#')

实际上,您可以通过单个选择器实现这一点:

$('a:not(:only-child)').attr('href','#')

实际上,您可以通过单个选择器实现这一点:

$('a:not(:only-child)').attr('href','#')

实际上,您可以通过单个选择器实现这一点:

$('a:not(:only-child)').attr('href','#')

实际上,您可以通过单个选择器实现这一点:

$('a:not(:only-child)').attr('href','#')
您可以使用
li:has(ul)>a
仅选择和操作
a
元素,这些元素是
ul
的同级元素,如下所示:

$('ul.mainnav > li:has(ul) > a').attr('href', '#');
$('ul.mainnav>li:has(ul)>a').attr('href','#')

您可以使用
li:has(ul)>a
仅选择和操作属于
ul
同级的
a
元素,如下所示:

$('ul.mainnav > li:has(ul) > a').attr('href', '#');
$('ul.mainnav>li:has(ul)>a').attr('href','#')

您可以使用
li:has(ul)>a
仅选择和操作属于
ul
同级的
a
元素,如下所示:

$('ul.mainnav > li:has(ul) > a').attr('href', '#');
$('ul.mainnav>li:has(ul)>a').attr('href','#')

您可以使用
li:has(ul)>a
仅选择和操作属于
ul
同级的
a
元素,如下所示:

$('ul.mainnav > li:has(ul) > a').attr('href', '#');
$('ul.mainnav>li:has(ul)>a').attr('href','#')