在没有jQuery

时间:2018-05-10 07:03:45

标签: javascript html href

首先,

有没有办法定位href链接的特定部分,以便在if声明中使用?

基本上我如何定位以下href链接的 C 部分:

href="/a/b/c/d/e/index.html";

其次,

JavaScript中所需的if语句,最好用文字描述,是:

“如果第三部分包含 C ,则执行某些操作。”

最后,

我想使用每个if的{​​{1}}对href语句应用div语句,以便添加到HTML的<{1}}强>样品:

classList

1 个答案:

答案 0 :(得分:3)

您可以尝试使用split()生成一个数组以匹配特定位置的字符:

&#13;
&#13;
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;
&#13;
&#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");
    }
  })