选择firstChild和空白问题
Selecting the firstChild and whitespace issue
我有一个这样的标记:
<table id='myTable'>
<thead>
<tr>
<td>Hello</td>
</tr>
</thead>
</table>
但是当我尝试选择#table
的firstChild时,它返回空白(正如预期的那样)。
var ss = document.getElementById("myTable");
console.log(ss.firstChild);
返回:
<TextNode textContent="'n ">
我应该如何过滤空格在获得子节点?
您可以使用. firstelementchild将始终返回第一个元素,而. firstchild可能返回空白(如果有的话)以保留底层HTML源代码的格式。
看这里的文章http://www.sitepoint.com/removing-useless-nodes-from-the-dom/
这个家伙给出了一个JS函数,过滤掉所有的空白子节点。
您可以在那篇文章中阅读该函数如何工作的细节以及为什么它如此方便。我把代码复制粘贴到这里。
function clean(node)
{
for(var n = 0; n < node.childNodes.length; n++)
{
var child = node.childNodes[n];
if (child.nodeType === 8 || (child.nodeType === 3 && !/S/.test(child.nodeValue)))
{
node.removeChild(child);
n--;
}
else if(child.nodeType === 1)
{
clean(child);
}
}
}
基本的解决方案是循环遍历子节点并查找具有您正在寻找的nodeType
的子节点。
如果你不想自己做,那么有很多DOM库可以帮你做(jQuery是最流行的,但不一定是最好的)。
相关文章:
- 在指令控制器中使用$attrs时出现问题
- 将PHP变量传递给jQuery时遇到问题
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- 剑道网格jQuery动画()问题
- 我的jQuery插件参数没有正确启动,遇到了问题
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- 如何删除多行HTML排列中的空白
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 不同浏览器中的空白字符正则表达式行为
- XML 问题 - 加载空白页
- 在扫雷中清理空白方块周围的区域时遇到问题
- AngularJS ng-repeat - 空白结果的问题
- angularJS显示空白页面没有错误-控制器问题
- 选择firstChild和空白问题
- CSS空白标签似乎不起作用,可能是不同的问题
- HTML docx js空白docx问题
- Javascript幻灯片问题.正在获取空白屏幕
- Jquery的空白问题
- 如何解决Android Phonegap应用SyntaxError:解析错误?(空白屏问题)