javascript - 当父链接为 (#) 时如何从第一个子项插入第一个子项的链接

标签 javascript jquery

请告诉我如何在父 li 中插入第一个 child 的链接。

   <li class="parent">
            <a href="#">About</a>
                                <ul>
                   <li class="child">
                        <a href="About.html" title="About">About</a>


                    </li>
                                                                    <li class="child">
                        <a href="service.html" title="Staff">Service</a>


                    </li>
                                                                    <li class="child">
                        <a href="contact.html" title="Testimonials">Contact</a>


                    </li>

在脚本之后我想要那个结果

   <li class="parent">
            <a href="About.html">About</a>
                                <ul>
                   <li class="child">
                        <a href="About.html" title="About">About</a>


                    </li>
                                                                    <li 
      class="child">
                        <a href="service.html" title="Staff">Service</a>


                    </li>
             <li class="child">
           <a href="contact.html" title="Testimonials">Contact</a>


                    </li>

**请告诉我如何在父 li 中插入第一个 child 的链接。请检查并告诉我该怎么做

最佳答案

您可以使用attr 获取/设置属性并使用$(selector).find() 执行dom 元素查询。

$(document).ready(function() {
  $('.parent').each(function() {
    if($(this).find('>a').attr('href') === '#') { //requested added cond.
       $(this).find('>a').attr('href', $(this).find('>ul>li:first>a').attr('href'));
    }    
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="parent">
  <a href="#">About</a>
  <ul>
    <li class="child">
    <a href="About.html" title="About">About</a>
    </li>
    <li class="child">
    <a href="service.html" title="Staff">Service</a>
    </li>
    <li class="child">
    <a href="contact.html" title="Testimonials">Contact</a>
    </li>
  </ul>
</li>
<li class="parent">
  <a href="nochange.html">Service</a>
  <ul>
    <li class="child">
    <a href="service.html" title="Staff">Service</a>
    </li>
    <li class="child">
    <a href="About.html" title="About">About</a>
    </li>
    <li class="child">
    <a href="contact.html" title="Testimonials">Contact</a>
    </li>
  </ul>
</li>

关于javascript - 当父链接为 (#) 时如何从第一个子项插入第一个子项的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52054962/

相关文章:

javascript - 将文件对象添加到 redux 存储会导致空属性对象

javascript - 无法让 Firebase update() 使用提供的对象

javascript - 打开时尝试将数据从数据库传递到引导模式。我该怎么做呢?

javascript - 使用 PHP 发布 bootstrap-slider 输入数据值

javascript - 仅打开选项卡一次

javascript - 如何修复来自 Google Drive API 的 'The resource body includes fields which are not directly writable' 警告?

javascript:在嵌套对象中定义对父对象的引用

javascript - 为什么保存值是 "null"(尝试以encode64保存图像)?

javascript - 设置复选框选择的可变限制

javascript - Cypress - 比较两个输入的相等性