JavaScript url重定向基于另一个文本类内容

时间:2016-02-15 03:51:11

标签: javascript jquery html

我希望基于过滤下面显示的h2类中的内容来创建jQuery url重定向。到目前为止,我一直试图用你在下面看到的东西进行测试::

我需要帮助的是过滤h2来寻找某个单词。例如,如果h2类包含单词" Unit,"然后点击该链接将重定向到新的网页,在这种情况下www.link.com。否则,如果没有,它将保留在href中已经存在的默认url.com。

<h2 class="unit"> Sample Unit </h2>

<a "href="http://www.url.com" target="_blank"> Sample Link </a>

我已经在下面看到了jQuery的这个解决方案,但我还没有能够过滤或编辑它来正确过滤h2。

$(location).attr('href', 'http://www.link.com')

3 个答案:

答案 0 :(得分:0)

如果您正在谈论h2 innerHTML,请尝试使用

&#13;
&#13;
var str = document.getElementsByClassName("unit")[0].innerHTML;
var result = str.indexOf("Unit") > -1;
(result) ? $("a").attr("href", "http://www.link.com/"): $("a").attr("href", "http://www.url.com");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h2 class="unit"> Sample Unit </h2>
<a href="http://www.url.com" target="_blank"> Sample Link </a>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

使用jquery's np.newaxis/None 检查h2是否包含Unit,如下所示:

var hasUnit=$('h2').contains('Unit'); //returns true or false

根据以上返回值更改href

答案 2 :(得分:0)

    /* get all "h2" tags with class "unit"
    and loop on each elements it finds in your page */

    $("h2.unit").each(function() {

      /* check each h2.unit if it has "unit" text inside it
      we internally changed to lowercase to make it case insensitive
      if "unit" text does not exists .indexOf("unit") will return -1 */

        if ($(this).html().toLowerCase().indexOf("unit") >= 0) {

          // change its next sibling with "a" tag's href to www.link.com

          $(this).next("a").attr("href", "http://www.link.com");
      }
    });

其中一条评论提出了快捷方式。

$("h2.unit:contains('unit')").next("a").attr("href", "http://www.link.com");