繁体   English   中英

我如何使用子值获取父标记属性href值

[英]how can i get the parent a tag attribute href value using child value

<html>
<head>
<script>
     function getTheValue()
     {

     }
</script>
</head>
<body>
    <div>
        <a href="http://google.com">
            <span class="text">Google</span>
        </a>
    </div>
    <div>
        <a href="http://yahoo.com"> 
            <span class="text">Yahoo</span>
        </a>
    </div>
    <input type="button" value="get" onclick="getTheValue()"></input>
</body>
</html>

嗨,上面是我的代码,我希望使用javascript雅虎的“ href”值,但在这里我没有任何不同的类,但是基于子级“ span”值即“ Yahoo”,我需要检索“标记“ href”的值如何?

用途:contains

$( "span:contains('Yahoo')" ).closest("a").attr("href")

等效的Javascript可以是

function contains(selector, text) {
  var elements = document.querySelectorAll(selector);
  return [].filter.call(elements, function(element){
    return RegExp(text).test(element.textContent);
  });
}

contains("span", "Yahoo").parentNode.href; // Will be the element parent href.

基于Vanilla JS中的内容获取元素的功能来源

这段代码可以解决问题,但是方法getElementsByClassName()支持IE9及更高版本,或者您可以使用getElementsByTagName(tagname)

 function getTheValue()
 {
     var patt = /Yahoo/i;
     var x = document.getElementsByClassName("text");
     var i;
     var spanElement;
     for (i = 0; i < x.length; i++) {
        if(patt.test(x[i].innerHTML))
        {
           spanElement = x[i];
           break;       
        }
     }
     var yourUrl = spanElement.parentNode.href;
     alert(yourUrl);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM