jQuery 让 innerHTML 不能在 HTMLFontElement 对象上工作
Posted
技术标签:
【中文标题】jQuery 让 innerHTML 不能在 HTMLFontElement 对象上工作【英文标题】:jQuery to get innerHTML not working on a HTMLFontElement object 【发布时间】:2011-01-30 16:25:33 【问题描述】:我有 jQuery 来选择所有 font
元素的子元素,这些元素是存储在 var html
... 中的 html 中的 id="right"
... /p>
alert($("#right > font", html).length);
它给了我一个警报:5
但是当我尝试以下任何一项时,我都没有收到任何警报...
alert($("#right > font", html)[0].html());
alert($("#right > font", html)[0].text());
alert($("#right > font", html)[0].val());
有什么想法吗?
谢谢, 马特
【问题讨论】:
【参考方案1】:由于元素不是 jQuery 的实例,它只是一个 DOM 对象,因此您不能使用任何 jQuery 方法。您可以使用 innerHTML 来获取结果。
alert($("#right > font", html)[0].innerHTML);
如果你想将任何 jQuery 方法应用到元素上,你必须使它成为一个 jquery 对象,比如
alert($($("#right > font", html)[0]).html());
或
$("#right > font").each(function()
alert($(this).html());
);
【讨论】:
稍微详细说明一下:当您访问 jQuery 对象的编号属性时,您得到的是原始 DOM 对象,而不是 jQuery 对象。以上是关于jQuery 让 innerHTML 不能在 HTMLFontElement 对象上工作的主要内容,如果未能解决你的问题,请参考以下文章
我怎样才能在“.innerHTML”中添加 <g:textField>?
jquery 怎么让一个div的内容未加载完时显示加载中...
[ jquery 方法 html([val|fn]) ] 此方法操作匹配的元素或元素集中的内容,相当于javascript中的innerHTML