Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 在li元素上使用jQuery设置html会导致错误_Javascript_Jquery_Html_Html Lists - Fatal编程技术网

Javascript 在li元素上使用jQuery设置html会导致错误

Javascript 在li元素上使用jQuery设置html会导致错误,javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,这里是JSIDLE链接- 测试1 测试2 函数myclick(){ 警报(“点击”); var elemId=“#li1”; var elemCollection=jQuery(elemId); 警报(“len=“+elemCollection.length”); if(elemCollection.length){ var selectedElem=elemCollection[0]; 警报(“要处理的元素的id”+selectedElem.attributes[“id”].value)

这里是JSIDLE链接-


    测试1 测试2
函数myclick(){ 警报(“点击”); var elemId=“#li1”; var elemCollection=jQuery(elemId); 警报(“len=“+elemCollection.length”); if(elemCollection.length){ var selectedElem=elemCollection[0]; 警报(“要处理的元素的id”+selectedElem.attributes[“id”].value); var stringtorereplacewith=“测试”; 警报(“friendname=“+selectedElem.attributes[“friendname”].value”); //警报(“所选元素的html值=“+selectedElem.html()); 选择edelem.html(stringToReplaceWith); }否则{ 警惕(“无”); } }
如您所见,我正在尝试使用jQuery更新li元素的html内容。这将导致以下错误:

未捕获类型错误:未定义不是函数

我能够获取此li元素的属性,但html()setter失败。甚至getter也失败了,我现在已经在代码中注释掉了

有人知道这里可能出了什么问题吗


谢谢您的帮助。

您会收到错误,因为
selectedElem
不是jQuery对象

var selectedElem = elemCollection[0];  <-- gets the DOM node
selectedElem.html(stringToReplaceWith);  <-- you treat it as a jQuery object

var selectedElem=elemCollection[0] 之所以出现错误,是因为
selectedElem
不是jQuery对象

var selectedElem = elemCollection[0];  <-- gets the DOM node
selectedElem.html(stringToReplaceWith);  <-- you treat it as a jQuery object

var selectedElem=elemCollection[0] 之所以出现错误,是因为
selectedElem
不是jQuery对象

var selectedElem = elemCollection[0];  <-- gets the DOM node
selectedElem.html(stringToReplaceWith);  <-- you treat it as a jQuery object

var selectedElem=elemCollection[0] 之所以出现错误,是因为
selectedElem
不是jQuery对象

var selectedElem = elemCollection[0];  <-- gets the DOM node
selectedElem.html(stringToReplaceWith);  <-- you treat it as a jQuery object

var selectedElem=elemCollection[0] 您的问题可能与这一行有关:

var selectedElem = elemCollection[0];
这将为您提供一个常规DOM元素对象,而不是jQuery对象。DOM元素不像jQuery对象那样具有
html()
函数。您可以用以下代码行替换整个函数:

function myclick(){
  jQuery('#li1').html('testing');
}

您的问题可能与这一行有关:

var selectedElem = elemCollection[0];
这将为您提供一个常规DOM元素对象,而不是jQuery对象。DOM元素不像jQuery对象那样具有
html()
函数。您可以用以下代码行替换整个函数:

function myclick(){
  jQuery('#li1').html('testing');
}

您的问题可能与这一行有关:

var selectedElem = elemCollection[0];
这将为您提供一个常规DOM元素对象,而不是jQuery对象。DOM元素不像jQuery对象那样具有
html()
函数。您可以用以下代码行替换整个函数:

function myclick(){
  jQuery('#li1').html('testing');
}

您的问题可能与这一行有关:

var selectedElem = elemCollection[0];
这将为您提供一个常规DOM元素对象,而不是jQuery对象。DOM元素不像jQuery对象那样具有
html()
函数。您可以用以下代码行替换整个函数:

function myclick(){
  jQuery('#li1').html('testing');
}

以下行返回本机DOM Html元素:

elemCollection[0];
如果希望集合中的第一项作为jQuery元素,请使用:


以下行返回本机DOM Html元素:

elemCollection[0];
如果希望集合中的第一项作为jQuery元素,请使用:


以下行返回本机DOM Html元素:

elemCollection[0];
如果希望集合中的第一项作为jQuery元素,请使用:


以下行返回本机DOM Html元素:

elemCollection[0];
如果希望集合中的第一项作为jQuery元素,请使用:


我建议使用
console.log()
而不是
alert()
,它更容易处理。我建议使用
console.log()
而不是
alert()
,它更容易处理。我建议使用
console.log()
而不是
alert()
,它更容易处理。我建议使用
console.log()
而不是
alert()
,它更容易处理。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。是的,我不知道有什么不同。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。但现在问题又解决了。