有没有办法定位href
链接的特定部分,以便在if
声明中使用?
基本上我如何定位以下href
链接的 C 部分:
href="/a/b/c/d/e/index.html";
JavaScript中所需的if
语句,最好用文字描述,是:
“如果第三部分包含 C ,则执行某些操作。”
我想使用每个if
的{{1}}对href
语句应用div
语句,以便添加到HTML
的<{1}}强>样品:
classList
答案 0 :(得分:3)
您可以尝试使用split()
生成一个数组以匹配特定位置的字符:
var href="/a/b/c/d/e/index.html";
href = href.split('/');
if(href.indexOf('c') == 3){
console.log('Matched at position:', href.indexOf('c'));
}
&#13;
但是,如果您希望根据多个元素中的不同if
实施href
语句,则需要创建一个Array
来实现forEach
,并选择您希望实施哪些要素classList.add()
,如下所示:
var divs = Array.from(document.querySelectorAll("div"));
divs.forEach(function(div) {
var href = document.querySelector(".a-1").getAttribute("href");
var location = div.querySelector(".location");
href = href.split("/");
if (href.indexOf("c") == 3) {
location.classList.add("c");
}
})