Javascript 在li元素上使用jQuery设置html会导致错误
这里是JSIDLE链接-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)
测试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()
,它更容易处理。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。这就解决了问题。我不知道这种区别。谢谢你指出。是的,我不知道有什么不同。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。不过,现在问题解决了。是的,我不知道有什么区别。谢谢我不能按照你的建议去做,因为在我的应用程序中,这个元素可能不在页面上。(只在一页上)。所以我必须检查收集长度。但现在问题又解决了。