nextSibling、previousSibling 和 nextElementSibling、previousElementSibling

版权声明:任先阳 任 先 阳 任先 先阳,ifgm.cn、www.ifgm.cn、nvcc.cc、www.nvcc.cc、sbfox.com、www.sbfox.com https://blog.csdn.net/qq_39571197/article/details/85849105

nodeType,主要与这个有关 

 

nextSibling、previousSibling 可以说是所有节点;

nextElementSibling、previousElementSibling 就是普通的元素节点。 

 

jquery导致nextSibling出错?

04-11

我有一个主页面1.htmlrnrnrnrn rn Example: Ajax loading with jQueryrn rn rn rnrnrn Showing and hiding a code example with jQueryrn rn jqueryTest.jsrnrnrnrnrnrn然后是其中用到的test.js,其实这个代码没什么用,就是点击链接之后出现的字符rnrn$( document ) . ready ( rn function() rn $( 'pre' ).before( ' Show code' );rn $( 'pre' ).hide();rn $('a.trigger').toggle ( rn function() rn $(this).html('Hide Code');rn $(this.parentNode.nextSibling).slideDown('slow');rn ,rn function() rn $(this).html('Show Code');rn $(this.parentNode.nextSibling).slideUp('slow');rn rn )rn rn)rnrn最后是用到的jqueryTestAjax.js,主要还是看这里,特别是注释前后rn$( document ) . ready ( rn function() rn $('a.codeExample').each (rn function( i ) rn $( this ).after( ' ' );rn rn rn )rn rn $( 'pre.codeExample' ).hide();rn rn $('a.codeExample').toggle ( rn function() rn rn if( !this.old )rn this.old = $(this).html();rn rn $(this).html('Hide Code');rn parseCode(this);rn ,rn function() rn rn $(this).html(this.old);rn $(this.nextSibling).hide();rn rn )rn function parseCode(o)rn rn if(!o.nextSibling.hascode) //从这里开始有问题,明明都是o.nextSibling.nodeNamern alert(o.nextSibling.nodeName); //这里返回预期的prern rn $.get (o.href,rn function(code)rn alert(o.nextSibling.nodeName); //这里就不可思议地变成了prn /*rn code=code.replace(//mg,'>');rn code=code.replace(/\"/mg,'"');rn code=code.replace(/\r?\n/g,' ');rn code=code.replace(/ /g,' ');rn code=code.replace(/ /g,' ');rn o.nextSibling.innerHTML=''+code+'';rn rn o.nextSibling.hascode=true;rn */ rn rn rn );rn rn alert(o.nextSibling.nodeName); //这里又返回了prern rn $(o.nextSibling).show();rn rn rn rn rn)rn运行之后我发现,当我点击1.html左上方的hide code之后出现了前后o.nextSibling.nodeName值不同的情况rn依次出现pre,p,pre三种alert提示,想问一下这是什么原因啊,在$.get方法内部我都没有加新语句,只有一个alert语句,为什么得到的兄弟节点会变成P?当我用alert(o.nodeName)时得到的又是正确的a标签,这个P标签是哪里来的?

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试