我正在使用CodeRay生成html代码,而且几乎所有文本元素都包含在span
中,但有些文本元素却没有。在示例中,您可以看到primary_key_prefix_type
根本没有包含。
<span class="no">1172</span><span class="r">case</span> primary_key_prefix_type
<span class="no">1173</span><span class="r">when</span> <span class="sy">:table_name</span>
但是我需要使用jQuery中的next()
和prev()
函数来遍历所有元素。
因此我错过了primary_key_prefix_type
,因为它不是jQuery的元素。如何'看'所有元素?感谢。
答案 0 :(得分:3)
您也可以使用包含文本节点的.contents()
。
$("#test").contents().each(function() {
//do something with each node
});
<强> Example on jsfiddle 强>
更新
.nextSibling
将获得下一个元素,无论它是元素还是文本节点。
$(".r")[0].nextSibling;
<强> Example on jsfiddle 强>
答案 1 :(得分:2)
您可以使用.contents()
选择所有元素和文本节点。
$('#container').contents().each(function() {
if (this.nodeType == 3 || this.tagName == 'SPAN')
{
var text = $(this).text();
// Don't act on empty text i.e. just spaces/tabs
if (!text.match(/^[\s\t]*$/))
{
alert(text);
}
}
});