Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery确定元素是否为文本节点_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery确定元素是否为文本节点

Javascript 使用jQuery确定元素是否为文本节点,javascript,jquery,Javascript,Jquery,给定jQuery元素,如何确定右侧的同级节点是否是文本节点而不是另一个元素?在PHP中,您可以将节点类型与#文本进行比较-在这种情况下,等价物是什么 window.jQuery('body').find('a').each(function (i) { if(window.jQuery(this).next() == '?'){ } }); 我正在努力找出我能在条件部分做些什么 更新 出于某种原因,我所有的测试都会返回1而不是3来表示文本节点 评论如下: 检查此选项并

给定jQuery元素,如何确定右侧的同级节点是否是文本节点而不是另一个元素?在PHP中,您可以将
节点类型
#文本
进行比较-在这种情况下,等价物是什么

window.jQuery('body').find('a').each(function (i) {


    if(window.jQuery(this).next() == '?'){

    }


});
我正在努力找出我能在条件部分做些什么

更新 出于某种原因,我所有的测试都会返回1而不是3来表示文本节点

评论如下:

检查此选项并查看是否有帮助。

next()
仅返回元素,因此不能使用它遍历文本节点。您可以改为使用DOM
nextSibling
属性并检查其
nodeType
属性:

现场演示:

代码:


选中此项,可能是,不知道:此问题的公认答案也很有用:谢谢,但节点一直以1而不是3返回以表示文本节点!我已经更新了我目前的问题。在我写完全相同的+1时打败我。我花了更长的时间,因为我正在阅读jQuery源代码
    if(window.jQuery(this).next().length != 0){

        alert(window.jQuery(this).next().get(0).nodeType);  

        if(window.jQuery(this).next().get(0).nodeType == 3){

            alert('right has text');

        }
window.jQuery('body').find('a').each(function (i) {
    var nextNode = this.nextSibling;
    if (nextNode && nextNode.nodeType == 3) {
        alert("Next sibling is a text node with text " + nextNode.data);
    }
});