我想访问网页中嵌套元素的值。
例如,
网页包含很多div
,它们没有任何 ID 或 CLASS。所以,我想要嵌套在 3 div
中的标签 () 中的值。<a>Some Value</a>
注意 -存在许多这样<a>
的嵌套在 3 中div
。
但我要求<a>
其 innerHTML 从http://
.
任何可行性?
我想访问网页中嵌套元素的值。
例如,
网页包含很多div
,它们没有任何 ID 或 CLASS。所以,我想要嵌套在 3 div
中的标签 () 中的值。<a>Some Value</a>
注意 -存在许多这样<a>
的嵌套在 3 中div
。
但我要求<a>
其 innerHTML 从http://
.
任何可行性?
如果您的问题是“如何访问嵌套在三个 div 中的唯一锚元素的内容?” 那么你可以这样做:
var el = document.querySelector("div div div a"),
value = el.innerHTML;
演示:http: //jsfiddle.net/uPK94/
编辑:如果可以有多个锚点,并且您想要一个“其 innerHTML 开始于http://
”的锚点,您可以执行以下操作:
var anchors = document.querySelectorAll("div div div a"),
value;
for (var i = 0; i < anchors.length; i++) {
if (anchors[i].innerHTML.indexOf("http://") === 0) {
// anchors[i] is the element you're looking for
value = anchors[i].innerHTML;
// do something with value here
}
}
该.indexOf()
方法返回一个字符串在另一个字符串中的第一个匹配项的位置,因此在您的情况下,您希望它的位置为 0。如果您只想要一个http://
在其内部 html 中具有任何位置的锚点,您可以使用anchors[i].innerHTML.indexOf("http://") != -1
.
也可以看看:
How about:
var a = document.querySelector("div a");