带有静态查询字符串的动态URL

时间:2018-02-27 20:21:11

标签: javascript url dynamic hyperlink query-string

我正在编写一个需要带有查询字符串的动态网址的移动菜单。

这是HTML的一部分:

<ul>
    <li class="has-sub"><a href="#"><img alt="eclipse" src="image.png"/></a>
        <ul role="menubar">    
            <li><a class="link" href="http://sitename.com?ID=7">Parent 1</a></li>
            <li class="has-sub"><a aria-haspopup="true" href="#">Parent 2</a>
                <ul role="menu">
                    <li role="presentaiton"><a class="link" role="menuitem" href="http://sitename.com?ID=21">Child 1</a></li>
                    <li role="presentaiton"><a class="link" role="menuitem" href="http://sitename.com?ID=19">Child 2</a></li>
                    <li role="presentaiton"><a class="link" role="menuitem" href="http://sitename.com?ID=18">Child 3</a></li>
                    <li role="presentaiton"><a class="link" role="menuitem" href="http://sitename.com?ID=17">Child 4</a></li>
                    <li role="presentaiton"><a class="link" role="menuitem" href="http://sitename.com?ID=16">Child 5</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>

这是JS:

    var absoluteURL = window.location.href;
    var url = $('.link').attr('href')
    url = url.replace('sitename', absoluteURL)

有没有办法可以在没有任何插件的HTML中用静态查询字符串编写动态URL:href= {link} + "ID=7"

1 个答案:

答案 0 :(得分:1)

嗯,我想整个问题是修复这个网址冗余。如果您不想使用任何模板引擎,请尝试此操作。

我删除了公共部分wiz http://sitename.com?,然后我选择了所有a,然后我在那里修改href

var link = "http://sitename.com?";
$("li.has-sub a").attr("href", function(){
  return link+this.href;
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li class="has-sub">
    <a href="#"><img alt="eclipse" src="image.png" /></a>
    <ul role="menubar">
      <li><a href="ID=7">Parent 1</a></li>
      <li class="has-sub"><a aria-haspopup="true" href="#">Parent 2</a>
        <ul role="menu">
          <li role="presentaiton"><a id="link" role="menuitem" href="ID=21">Child 1</a></li>
          <li role="presentaiton"><a id="link" role="menuitem" href="ID=19">Child 2</a></li>
          <li role="presentaiton"><a id="link" role="menuitem" href="ID=18">Child 3</a></li>
          <li role="presentaiton"><a id="link" role="menuitem" href="ID=17">Child 4</a></li>
          <li role="presentaiton"><a id="link" role="menuitem" href="ID=16">Child 5</a></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>