我对JavaScript很新颖,我需要获取节点的值为firstvalue
,以便我可以在脚本中使用它。任何人都可以告诉我如何得到那个价值?Javascript:获取节点值
<div id="myDiv">
<span id="firstValue"> 5.22 <span id="nestedValue"> 500 </span></span>
</div> <!-- myDiv -->
我对JavaScript很新颖,我需要获取节点的值为firstvalue
,以便我可以在脚本中使用它。任何人都可以告诉我如何得到那个价值?Javascript:获取节点值
<div id="myDiv">
<span id="firstValue"> 5.22 <span id="nestedValue"> 500 </span></span>
</div> <!-- myDiv -->
document.getElementById("firstValue")
将让你的<span>
参考。这有两个子节点,您可以通过数组(如childNodes
属性)引用它,或者在此情况下只需使用firstChild
和lastChild
属性。例如,以下将返回字符串“5.22”:
document.getElementById("firstValue").firstChild.nodeValue;
所以我可以用'firstChild'(或者更普遍的'childNodes [i]')去树下,得到我需要的任何价值,谢谢你我会困惑很多,你让我很头疼。 – haunted85
var nodeValue = document.getElementById("firstValue").innerHTML
这将= “5.22 <span id="nestedValue"> 500 </span>
”
所以没有办法只捕获这个值? – haunted85
我会让自己变得简单,而不是将这两个项目嵌套在一起。 –
下面是实现这一目的的简单功能,并与处理的情况下错误的跨度将不存在或将是空的:
function getFirstValue() {
var spanFirstValue = document.getElementById("firstValue");
if (spanFirstValue) {
var textNode = spanFirstValue.childnodes[0];
if (textNode) {
return textNode.data;
}
}
return "";
}
许多JavaScript库在访问DOM元素方面都有很大帮助,比如:prototype,dojo,jQuery等等。在原型中,你可以输入:$('firstValue').firstChild.nodeValue
你想要内部html(它是嵌套的)还是第一个值,就像文本内容一样。如果是后者,应该在什么情况下检索' 5.22 foo '? – Dilettant
@Dilettant:我只想检索5.22并忽略其他所有内容。 – haunted85