【问题标题】:Check if every href in a list contains question mark (?) and add ampersand (&) - jquery检查列表中的每个href是否包含问号(?)并添加&符号(&) - jquery
【发布时间】:2019-03-07 14:41:37
【问题描述】:
我有一个hrefs 的列表。我想检查此href 中是否包含问号?。
如果没有,请在此 href 末尾添加一个带问号 ? 的变量。
如果它包含一个问号,则在此 href 的末尾添加一个带有 & 符号的变量 &。
<ul>
<li><a href="https://www.testone.com/">link 1</a></li>
<li><a href="https://www.testtwo.com/?variable1=ok1">link 2</a></li>
<li><a href="https://www.testthree.com/?variable2=ok2&variable3=ok3">link 3</a></li>
<li><a href="https://www.testfour.com/">link 4</a></li>
</ul>
在上面的链接中,我想在每个 href 的末尾添加一个变量,这样它们就会变成这样:
https://www.testone.com/?addedVariable=add
https://www.testtwo.com/?variable1=ok1&addedVariable=add
https://www.testthree.com/?variable2=ok2&variable3=ok3&addedVariable=add
https://www.testfour.com/?addedVariable=add
【问题讨论】:
标签:
jquery
variables
html-lists
href
【解决方案1】:
首先找到所有链接的“href”,然后找到它包含“?”与否。
- 如果有“?”在链接中而不是附加“&addedVariable=add”。
- 否则,追加“?addedVariable=add”
$("ul li").find("a").each(function(){
var link = $(this).attr("href");
if (link.indexOf("?") !=-1) {
link += "&addedVariable=add ";
} else {
link += "?addedVariable=add ";
}
$("#newLinks").append(link + "<br/>");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
<li><a href="https://www.testone.com/">link 1</a></li>
<li><a href="https://www.testtwo.com/?variable1=ok1">link 2</a></li>
<li><a href="https://www.testthree.com/?variable2=ok2&variable3=ok3">link 3</a></li>
<li><a href="https://www.testfour.com/">link 4</a></li>
</ul>
<div id="newLinks"></div>