Javascript .trim()对innerText有效吗?
这是失败的。我使用的Javascript .trim()对innerText有效吗?,javascript,Javascript,这是失败的。我使用的trim有效吗?跨距位于表行内 var x = document.getElementById('myRow'); var r = x.getElementsByTagName('span')[1].innerText; if(r.trim() == ""){ alert("on if") } HTML 标题 样品 如果代码与正确的html结合在一起,您的代码就可以正常工作 示例HTMl: <table> <tr id="head
trim
有效吗?跨距位于表行内
var x = document.getElementById('myRow');
var r = x.getElementsByTagName('span')[1].innerText;
if(r.trim() == ""){
alert("on if")
}
HTML
标题
样品
如果代码与正确的html结合在一起,您的代码就可以正常工作
示例HTMl:
<table>
<tr id="header">
<td><span>The Header</span></td>
</tr>
<tr id="myRow">
<td><span>Sample</span></td>
<td><span></span></td>
</tr>
</table>
标题
样品
JSFiddle:
<table>
<tr id="header">
<td><span>The Header</span></td>
</tr>
<tr id="myRow">
<td><span>Sample</span></td>
<td><span></span></td>
</tr>
</table>
注意
数组从索引0开始
你的意思是指第一个跨度吗?如果是这样,您需要使用[0]
而不是[1]
更新
基于HTML,问题是您没有
标记
如果查看控制台,您可能会看到以下错误:
未捕获类型错误:无法读取null的属性“getElementsByTagName”
如果您的
标记周围没有
标记,这是无效的html,大多数浏览器将忽略您的标记,这就是为什么您的getElementByID
没有返回任何导致其余函数失败的内容的原因trim()
可以在任何字符串上调用,包括innerText
,因为它返回字符串
您提供的代码可能由于一些不同的原因而失败。您必须确保
document.getElementById('myRow')
实际返回一个元素,并且x.getElementsByTagName('span')
还至少返回两个元素,由于您试图通过指定索引1来获取该数组中返回的第二个元素的innerText
。是否有错误?您的document.getElementById('myRow')没有获取元素代码>跨度在一个表中。不管它是什么类型的标记,如果它有上面提到的idas Seth,你需要用
标记包装你的表行。