在一个名为高级Ajax页面加载器的WordPress插件的源代码中,我看到作者使用这样的代码在ajax成功后设置页面标题:
data = data.split('<title>')[1];
titles = data.split('</title>')[0];
jQuery(document).attr('title', (jQuery("<div/>").html(titles).text()));
我尝试用
替换最后一行jQuery(document).attr('title', titles);
并且该插件也有效。
所以我的问题是:为什么他使用(jQuery("<div/>").html(titles).text())
而不是简单地应用titles
变量?
(jQuery("<div/>")
究竟意味着什么?
感谢。
答案 0 :(得分:3)
jQuery("<div/>")
创建一个div元素,请参阅http://api.jquery.com/jquery/#jQuery2。这里它用于清理titles
var。
jQuery("<div/>").html(titles).text()
创建一个空div(jQuery("<div/>")
),将内容设置为titles
(.html(titles)
)并读取此div的文本(.text()
) 。 HTML标记作为文本读取,因此不能将HTML / JS注入文档标题,只能注入纯文本。这是该脚本的安全功能。
答案 1 :(得分:0)
这是创建新div
元素的语法。