0

我试图抓住一个元素旁边的一段文本,我可以用它的类选择它,然后对其执行 a split(" "),但我得到一个TypeError: undefined is not a function. 我认为这是因为它不是字符串,所以当我尝试先将其转换为字符串时,它会返回"[object Text]"

html:

<span class="status_abbr_inactive">
<figure class="planetIcon planet tooltip js_hideTipOnMobile" title="Planet"></figure>Hinata [1:28:10]</span>

当我表演

document.getElementsByClassName("planetIcon planet tooltip js_hideTipOnMobile")[0].nextSibling

它返回"Hinata [1:28:10]",但对其执行 split() 不起作用。我在这里想念什么?

4

2 回答 2

1

因为它是一个对象 - textNode。试试这个:

alert(document.getElementsByClassName("planetIcon planet tooltip js_hideTipOnMobile")[0].nextSibling.nodeValue);
于 2014-10-19T16:50:37.450 回答
1

实际上,你用那行代码得到的是一个textNode.

要使用包含在其中的文本,textNode您可以使用它的.textContent属性:

var text = document.getElementsByClassName("planetIcon planet tooltip js_hideTipOnMobile")[0].nextSibling.textContent;

var splitted = text.split(' ');
// ["Hinata", "[1:28:10]"]
于 2014-10-19T16:52:23.620 回答