【问题标题】:Brief form of document.getElementById(), such as jQuery "dollar-sign" method: $()document.getElementById()的简写形式,如jQuery“美元符号”方法:$()
【发布时间】:2017-04-17 10:48:55
【问题描述】:

我想使用类似的东西:

$('#some_id')  // or anything as brief as this

代替:

document.getElementById('some_id')

不能使用jQuery

【问题讨论】:

  • 真的不清楚你在问什么。请尝试澄清(添加一些您想要完成的示例)。
  • 或者你可以假设这个问题:如何只使用jQuery的那部分来简化你对document.getElementById()的访问?
  • 还是不太明白自己想要什么。对不起。
  • @Dekel,我说得更清楚了。

标签: javascript jquery html getelementbyid dollar-sign


【解决方案1】:

document.getElementById() 在 jQuery 中是 $('#your_id')。如果这就是你的意思。

【讨论】:

    【解决方案2】:

    你可以只用一个短名称的函数返回getElementById的结果,例如,

    function $(id) {
        return document.getElementById(id);
    }
    

    然后将其用作...

    var element = $('elementId');
    

    我不一定推荐这种方法,因为如果你确实想使用 jQuery,你会遇到可怕的冲突,但你可以为你的函数选择一个不同的短名称。

    编辑: 这里其实不需要声明函数,你可以简单地将document.getElementById 别名为$,因为它们接受相同的参数。

    var $ = document.getElementById;
    

    【讨论】:

    • 这几乎 100% 正确,除了这将只允许使用 id。 A 表示努力 + 赞成!
    • 哦... OP只希望ID的返回,继续
    【解决方案3】:

    虽然我喜欢接受的答案,但为了清楚起见:我想添加 document.querySelectorALl 方法,因此您实际上可以重新创建 $(selector) 方法

    function $(selector) {
        return document.querySelectorAll(selector);
    }
    

    请记住,这将返回一个元素或包含元素的 NodeList

    $('.hello') // returns all elements with class='hello'
    $('#hello') // returns the element with id='hello'
    $('a') // returns all links
    

    【讨论】:

    • 是的。这是一个更好的方法,但 accepted answer 匹配问题。
    【解决方案4】:

    定义:

    const $ = document.querySelector.bind(document)
    

    【讨论】:

      猜你喜欢
      • 2010-12-14
      • 1970-01-01
      • 2011-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 2011-11-26
      相关资源
      最近更新 更多