【问题标题】:How can I convert a jQuery object to an Element?如何将 jQuery 对象转换为元素?
【发布时间】:2011-07-28 20:57:30
【问题描述】:

如果我有一个像var textarea = $('textarea') 这样的textarea,我如何使用JavaScript 属性value 而不是jQuery 属性val() 来设置它的值?

我想我需要先将 textarea 转换为 JavaScript 对象,但我该怎么做呢?

【问题讨论】:

  • 值得指出的是,虽然您所说的实际上是一个“javascript”对象,但更具体地说,它实际上是一个“节点”对象的属性。这些是由浏览器创建的,它们之间(大部分)相似,并且它们被规范化并由 jQuery 添加。同一个 Node 对象仍然存在于 jQuery 对象的深处(通过 jQuery 重置/规范化一些属性)

标签: javascript jquery object


【解决方案1】:

我们可以使用javascript的querySelector()函数来获取一个标准的javascript DOM对象。

例子:

<ul id="category"><li><label><input data-id="1" data-label="CBSE" data-filterClass="category" name="category" type="checkbox"> CBSE </label></li>
console.log(document.querySelector('input[data-id="1"]'));

您将获得给定选择器的 javascript DOM 对象。

【讨论】:

  • 虽然这对于示例案例来说听起来不错,但您可能应该添加一些关于querySelector 支持多少 jQuery 选择器的内容。不是全部,对吧?
【解决方案2】:

jQuery .get() 会为你做到这一点

http://api.jquery.com/get/

引用:

没有参数,.get() 返回所有元素:

alert($('li').get());

指定索引后,.get() 将检索单个元素:

($('li').get(0));

...我们可以使用数组解引用运算符来获取列表项:

alert($('li')[0]);

【讨论】:

    【解决方案3】:

    您可以使用数组表示法拉取 HTMLElement:

    $('textarea')[0].value
    

    ...将获取$('textarea') jQuery 列表中第一个元素的值。

    【讨论】:

      【解决方案4】:

      jQuery 对象 Javascript 对象。

      您正在尝试了解被称为原始 DOM 脚本的痛苦世界。

      你可以写

      document.getElementsByTagName("textarea")[0].value = whatever;
      

      这将获取第一个 &lt;textarea&gt; 并设置其值。
      如果要为所有这些设置值,则需要一个循环。

      您还可以通过编写 $(whatever)[0] 从 jQuery 对象中获取原始 DOM 元素。

      【讨论】:

        【解决方案5】:

        你可以使用解引用操作符,或者.get()方法来“获取jQuery对象匹配的DOM元素。”

        例子:

        txtArea[0].value = "something";
        

        或:

        txtArea.get(0).value = "something";
        

        【讨论】:

          猜你喜欢
          • 2010-10-12
          • 2013-03-17
          • 2016-09-17
          • 2021-09-28
          • 2015-03-18
          • 2011-10-30
          • 1970-01-01
          • 2019-02-24
          • 2016-08-27
          相关资源
          最近更新 更多