我希望基于过滤下面显示的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')
答案 0 :(得分:0)
如果您正在谈论h2 innerHTML,请尝试使用
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;
答案 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");