【问题标题】:need an explanation about a strange instruction in jquery.chosen by harvesthq需要一个关于 jquery.chosen 中一个奇怪指令的解释
【发布时间】:2012-12-05 12:33:09
【问题描述】:

我正在尝试稍微调整一下 Harvethq 选择的 jquery.chosen ( 当我遇到这行时,我正在轻轻地编辑他的插件

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

我不知道最后一部分是做什么的

$('<div/>')

对我来说毫无意义。

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

谁能解释一下?

【问题讨论】:

    标签: jquery jquery-chosen


    【解决方案1】:
    $('<div/>')
    

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

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

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

    继续:

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

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

    searchText = ...
    

    只需将其分配给变量。

    【讨论】:

      【解决方案2】:

      $('&lt;div/&gt;') 只需创建一个新的&lt;div&gt;&lt;/div&gt; 元素,然后harvestq 会填充搜索查询,从而为您留下:

      <div>Your search Query</div>
      

      你可以阅读关于jQuery的元素创建in the docs

      【讨论】:

        猜你喜欢
        • 2011-08-14
        • 1970-01-01
        • 2017-06-13
        • 2022-10-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-30
        • 1970-01-01
        • 2017-04-06
        相关资源
        最近更新 更多