2

我想访问网页中嵌套元素的值。
例如,
网页包含很多div,它们没有任何 ID 或 CLASS。所以,我想要嵌套在 3 div
中的标签 () 中的值。<a>Some Value</a>

注意 -存在许多这样<a>的嵌套在 3 中div
但我要求<a>其 innerHTML 从http://.
任何可行性?

4

2 回答 2

3

如果您的问题是“如何访问嵌套在三个 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.

也可以看看:

于 2013-11-07T21:08:43.747 回答
1

How about:

var a = document.querySelector("div a");
于 2013-11-07T21:07:43.937 回答