首页 > 解决方案 > ('iframe').append 不起作用(jQuery)有什么原因吗?

问题描述

快速:在我的代码 $("iframe").append(" <b>Appended iframe by element</b>.");中没有附加。

我也发现这 $("img").append(" <b>Appended p by element</b>.");也行不通。

小提琴在这里:https ://jsfiddle.net/stephan_luis/9hqo72ua/8/

jQ select by ID 也被尝试过,两者都适用于<p></p>标签。

我的问题是为什么这不起作用?文档没有提及任何内容https://api.jquery.com/append/是否有 jquery 方法不“做”的 html 元素列表?

标签: htmljquery

解决方案


这与 jQuery 没有任何关系。它与您尝试生成的 HTML 有关。

append()将子元素添加到元素。

HTML 4.x 中元素的子iframe元素是替代内容,仅当浏览器不支持 iframe 时才会显示。今天,iframe元素不允许使用子元素。

图像元素(如 iframe)是替换元素,但根本不允许它们是子元素(并且永远不会有)。<img><b>Appended p by element</b></img>只是无效的 HTML。

HTML 规范告诉您每个元素允许在该元素的条目中具有哪些内容。

例如对于iframe它说:

内容模型:没有。


推荐阅读