Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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代码中?儿童冲突?_Jquery_Conflict_Appendchild - Fatal编程技术网

为什么这个javascript代码会跳转到jQuery代码中?儿童冲突?

为什么这个javascript代码会跳转到jQuery代码中?儿童冲突?,jquery,conflict,appendchild,Jquery,Conflict,Appendchild,我将在这段代码下面使用一些jQuery(我可以将其重写为jQuery)。jQuery已加载。但是我不明白为什么,当我在调试器中单步执行这段代码时,调试器会跳入jQuery中的指定行,并且我得到错误消息“UL.appendChild”不是一个函数 var Dialog = document.createElement('div').id='meta-dialog'; var Tabs = document.createElement('div').id = 'meta-tabs';

我将在这段代码下面使用一些jQuery(我可以将其重写为jQuery)。jQuery已加载。但是我不明白为什么,当我在调试器中单步执行这段代码时,调试器会跳入jQuery中的指定行,并且我得到错误消息“UL.appendChild”不是一个函数

 var Dialog = document.createElement('div').id='meta-dialog';
 var Tabs = document.createElement('div').id = 'meta-tabs';         
 var UL = document.createElement('ul').id = 'meta-ul';


 var li1 =document.createElement('li'); li1.id = 'term1-LI';
 var li2 =document.createElement('li'); li2.id = 'term2-LI';

 var li1a = document.createElement('a');
 var li2a = document.createElement('a');

 li1a.href='#meta-tab1'; li1a.innerHTML = 'term1';
 li2a.href='#meta-tab2'; li2a.innerHTML = 'term2';

 li1.appendChild(li1a);
 li2.appendChild(li2a);

 UL.appendChild(li1) ;   // Firebug debugger jumps into jQuery here
 UL.appendChild(li2);
这个问题对任何人来说都是显而易见的吗?这与jQuery冲突吗?

//这里UL将是id属性,而不是
    元素。
    // Here UL will be the id attribute, not the <ul> element.
    var UL = document.createElement('ul').id = 'meta-ul';
    
    // this doesn't makes sense... (id.appendChild)
    UL.appendChild(li1) ;
    
    // solution:
    var UL = document.createElement('ul');
    UL.id = 'meta-ul';
    
    var UL=document.createElement('UL')。id='meta UL'; //这没有道理。。。(同上,儿童) UL.儿童(li1); //解决方案: var UL=document.createElement('UL'); UL.id=‘元UL’;
对话框和选项卡也是如此。(您的li1和li2很好)

哦,只要不使用以$开头的任何内容,就不能与jQuery冲突。

//这里UL将是id属性,而不是
    元素。
    >>> var UL = document.createElement('ul').id = 'meta-ul';
    >>> UL
    "meta-ul"
    
    var UL=document.createElement('UL')。id='meta UL'; //这没有道理。。。(同上,儿童) UL.儿童(li1); //解决方案: var UL=document.createElement('UL'); UL.id=‘元UL’;
对话框和选项卡也是如此。(您的li1和li2很好)


哦,只要不使用以$开头的任何东西,就不能与jQuery冲突。

您的
UL
不是jQuery元素对象,只是一个本机JavaScript元素。为了使用jQuery特定的方法,您需要使用jQuery的
$(UL)
获取
UL

您的
UL
不是jQuery元素对象,只是本机JavaScript元素。您需要使用jQuery的
$(UL)
来获得
UL
,才能使用jQuery特定的方法。

我没有投反对票,但可能是谁投了反对票,因为“UL”变量实际上不是任何类型的元素引用。@Pointy猜猜是谁投的,我的老朋友:)答案很短,我没有投反对票,但可能是谁投了反对票,因为“UL”变量实际上不是任何类型的元素引用。@Pointy猜猜是谁投的,我的老朋友:)答案很短,但又错得很厉害,我没有投反对票。谢谢你的回答。有时我对代码茫然地看着太久,以至于即使是我最简单的失误也不会跳出来攻击我。一定要休息一下谢谢你的回复。有时我对代码茫然地看着太久,以至于即使是我最简单的失误也不会跳出来攻击我。一定要休息一下
>>> var UL = document.createElement('ul').id = 'meta-ul';
>>> UL
"meta-ul"