javascript - 使用 jQuery 设置页面标题

标签 javascript jquery ajax wordpress

在一个名为Advanced Ajax Page Loader的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/>") 是什么意思?到底是什么意思?

谢谢。

最佳答案

jQuery("<div/>")创建一个 div 元素,请参阅 http://api.jquery.com/jquery/#jQuery2 。这里它用于清理 titles变种。

jQuery("<div/>").html(titles).text()创建一个空 div ( jQuery("<div/>") ),将内容设置为 titles ( .html(titles) ) 并读取此 div 的文本 ( .text() )。 HTML 标签被读取为文本,因此不能将 HTML/JS 注入(inject)到文档标题中,只能注入(inject)纯文本。这是该脚本的一项安全功能。

关于javascript - 使用 jQuery 设置页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21580306/

相关文章:

JavaScript 和 jQuery - 第二次执行函数时出现 "Uncaught ReferenceError: Invalid left-hand side in assignment"

javascript - 如何动态地将图案图像添加到 svg 中?

ajax - JSF/Rich Faces 中的 data.foo 语法是什么

javascript - polymer JS : How to install paper-submenu?

javascript - 使用 widgetVar,如何禁用或启用 PrimeFaces selectOneButton

php - 点击 Google map 上的 HTML 表单

c# - 跨域调用ServiceStack服务出现Cors问题

javascript - Ionic 2 在另一个页面上运行该函数

jquery - 使用 jQuery 获取数据列表中的选定值

javascript - XMLHttpRequest 未发送 'Via'