从给定的innerHTML角色获取元素

时间:2013-12-26 20:57:40

标签: javascript

我有以下HTML代码:

<div id="root"><span id="first">a</span><span id="second">b</span></div>

从“a”字符开始,我想获得其父元素:

var a = document.getElementById('root').innerHTML[17]

有可能吗?

2 个答案:

答案 0 :(得分:0)

按照代码

提供HTML
document.getElementById('root').children[0].firstChild

将为您提供“a”文本节点,所以

document.getElementById('root').children[0].firstChild.parentElement

会给你的父SPAN,但这似乎有点多余,除非我遗漏了什么。

如果(更有可能)你有多个具有不同内容的SPAN,并且你想根据内容找到特定的SPAN - 你可以使用这样的东西:

var aSpans = document.querySelectorAll('#root span');

for (var i=0, ln = aSpans.length; i < ln; i++) {
    if (aSpans[i].innerHTML == 'a') {
        console.log(aSpans[i]);
        break
    }
}

答案 1 :(得分:0)

使用jQuery

var spanContent = "a",
    spanElement = $("#root > span:contains('" + spanContent + "')");

spanElement.css("color", "red");

jsFiddle