3

我正在尝试通过 Harveshq 调整一点 jquery.chosen (当我遇到这一行时,我正在轻轻地编辑他的插件

searchText = this.search_field.val() === this.default_text ? "" : $('<div/>').text($.trim(this.search_field.val())).html();

我无法弄清楚它的最后一部分在做什么

$('<div/>')

对我来说没有意义。

我认为这是一种转换或保护在 search_field 中输入的字符的方法,但之前没有找到类似的东西。

有人可以解释一下吗?

4

2 回答 2

4
$('<div/>')

创建一个不属于文档的新 div。

$('<div/>').text(
  $.trim(this.search_field.val())
).html()

将新 div 的内容作为文本设置为搜索字段值,然后将其作为 HTML 读取。这有效地对值进行 HTML 转义。$.trim仅从搜索字符串的末尾删除空格。

继续:

this.search_field.val() === this.default_text ? "" : ...

如果搜索字段值是默认文本,则将使用空字符串,否则将使用所述 HTML 转义搜索字符串。

searchText = ...

只需将其分配给变量。

于 2012-12-05T12:37:25.683 回答
1

$('<div/>')只需创建一个新<div></div>元素,harvestq 然后填充搜索查询,留下:

<div>Your search Query</div>

您可以在文档中阅读有关 jQuery 元素创建的信息

于 2012-12-05T12:37:42.293 回答