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,你需要用
标记包装你的表行。