Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.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 我们如何修改;href";使用jquery计数器?_Javascript_Jquery - Fatal编程技术网

Javascript 我们如何修改;href";使用jquery计数器?

Javascript 我们如何修改;href";使用jquery计数器?,javascript,jquery,Javascript,Jquery,我有一个包含一些链接的网页 <div class="accordion-list"> <ul class="accordion"> <li class="accordion-item"> <a href="#" class="accordion-link">Heading 1</a> <ul class="sub-list"> <li><

我有一个包含一些链接的网页

<div class="accordion-list">
    <ul class="accordion">
      <li class="accordion-item">
        <a href="#" class="accordion-link">Heading 1</a>
        <ul class="sub-list">
          <li><a href="xyz.com">Registrations</a></li>
          <li><a href="xyz.com" >Contacts</a></li>
          <li><a href="xyz.com" >Mortgages</a></li>
        </ul>
      </li>

       <li class="accordion-item">
        <a href="#" class="accordion-link">Heading 2</a>
        <ul class="sub-list">
          <li><a href="abc.com">Registrations</a></li>
          <li><a href="abc.com" >Contacts</a></li>
          <li><a href="abc.com" >Mortgages</a></li>
        </ul>
      </li>

  </ul>
</div>
有人能告诉我如何获得所需的输出。

试试这个:

var num = 0;
$(".sub-list a").each(function() {
   var _href = $(this).attr("href"); 
   $(this).attr("href", _href + "#item"+ ++num);
    if (num == 3){
        num = 0;
    }
});

这基本上会在
每个
之外创建一个变量,然后对于每个链接,它都会上升
1位。当它到达
3
时,它将重置并返回到
0

试试这个:

var num = 0;
$(".sub-list a").each(function() {
   var _href = $(this).attr("href"); 
   $(this).attr("href", _href + "#item"+ ++num);
    if (num == 3){
        num = 0;
    }
});

这基本上会在
每个
之外创建一个变量,然后对于每个链接,它都会上升
1位。当它到达
3
时,它将重置并返回到
0

代码笔示例:

(您可以通过js控制台查看更新的href)

代码笔上的示例:


(您可以通过js控制台查看更新的href)

jQuery。每个还将索引传递给回调方法

$(".sub-list a").each(function(i) {
   var _href = $(this).attr("href"); 
   $(this).attr("href", _href + '#item' + (i+1) ); // i starts from 0
});
这将使用更新所有href

<li><a href="xyz.com#item1">Registrations</a></li>
          <li><a href="xyz.com#item2" >Contacts</a></li>
          <li><a href="xyz.com#item3" >Mortgages</a></li> 

 <li><a href="abc.com#item4">Registrations</a></li>
          <li><a href="abc.com#item5" >Contacts</a></li>
          <li><a href="abc.com#item6" >Mortgages</a></li>

  • 但这不是你所期望的。您必须使用选择器,该选择器将首先输入所有href,然后再输入第二个href。试试看。

    jQuery。每个还将索引传递给回调方法

    $(".sub-list a").each(function(i) {
       var _href = $(this).attr("href"); 
       $(this).attr("href", _href + '#item' + (i+1) ); // i starts from 0
    });
    
    这将使用更新所有href

    <li><a href="xyz.com#item1">Registrations</a></li>
              <li><a href="xyz.com#item2" >Contacts</a></li>
              <li><a href="xyz.com#item3" >Mortgages</a></li> 
    
     <li><a href="abc.com#item4">Registrations</a></li>
              <li><a href="abc.com#item5" >Contacts</a></li>
              <li><a href="abc.com#item6" >Mortgages</a></li>
    
  • 但这不是你所期望的。您必须使用选择器,该选择器将首先输入所有href,然后再输入第二个href。试试看。

    使用

    $(".sub-list").find("a").each(function(){
    
    $(this).attr("href",$(this).attr("href")+"item"+($(this).parent().index()+1));
    });
    
    使用

    请试试这个

    $(".sub-list").each(function(index, element){
      $(element).find('li a').each(function(i, element){
        var href_val = $(this).attr('href');
        $(this).attr('href', href_val+"#item"+i);
      });
    });
    
    请试试这个

    $(".sub-list").each(function(index, element){
      $(element).find('li a').each(function(i, element){
        var href_val = $(this).attr('href');
        $(this).attr('href', href_val+"#item"+i);
      });
    });
    

    列表计数未知。对于手风琴项目,它可能会更多,也可能不同。我们不能检查num==3,因为它对于所有手风琴项目都不同。请查看较新的小提琴。我正在编辑这篇文章@Manojlist计数未知。手风琴项目可能会有更多不同。我们无法检查num==3,因为所有手风琴项目的计数都不同。请查看较新的小提琴。我正在编辑这篇文章@ManojI故意将每个人的内心留给OP,这样他就可以尝试找到正确的方法。但你毁了它+不管怎样,这打印出“01”、“11”、“21”。我故意把每个内部都留给OP,以便他能找到正确的方法。但你毁了它+1。这将打印出'01'、'11'、'21.$(This).attr('href',href_val+“#item”+(i+1));感谢$(this.attr('href',href_val+“#item”+(i+1));现在可以用了谢谢