这是我的代码中有问题的部分,在.each(function(){})中运行;
$('img','<div>'+ed.selection.getContent({format: 'html'})+'</div>').each(function(){
$img=$('<img/>').attr('src',$(this).attr('src'));
alert($('<p>'+$img+'</p>').html());
if ($(this).attr('height').length>0){
$img.attr('height',$(this).attr('height'));
}
if ($(this).attr('width').length>0){
$img.attr('width',$(this).attr('width'));
}
alert($img.html());
});
首先,我正在使用html格式选择的tinyMCE内容,这很好,因为jQuery正确识别它。 $ img.html()返回空值,不是未定义但只是空白。测试了FF 3.6和IE8。有人可以解释一下吗?
答案 0 :(得分:2)
html()
函数仅返回元素的内容。由于<IMG>
在技术上是空的,因此您将获得一个空字符串。
如果你有这个:
<span>The text</span>
并且您要求$span.html()
,您只需The text
,而没有附带标记。
答案 1 :(得分:1)
如果您有兴趣访问<img>
的内容,请查看Question number 298049
答案 2 :(得分:0)
.html()
为您提供元素的innerHTML,即内部的内容。 <{1}}里面没有任何东西 - 它是一个空元素。
你有正确的想法,包装它并采用内部HTML。
答案 3 :(得分:0)
图像元素没有任何内部HTML,因此该方法不能返回任何内容。