V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sunhk25
V2EX  ›  问与答

jQuery 选择器, ID 中有 @字符时的用法

  •  
  •   sunhk25 · 2018-10-31 11:05:02 +08:00 via Android · 1019 次点击
    这是一个创建于 2019 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果 ID 中是"ABC@EFG"这样的字符时,$("#ABC@EFG")出现错误,现在的解决办法是用 js 的 getelement byid 来替换。
    我尝试了用 escape 和 encodeuri 来转义 ID 字符然后再用 jQuery 选择器,然而还是有错。
    请教有什么办法来回避这个错误
    第 1 条附言  ·  2018-11-01 11:37:19 +08:00
    jQuery3.0 好像有这写法
    $("#" + jQuery.escapeSelector("abc@e{[#]}fg")
    5 条回复    2018-10-31 20:42:51 +08:00
    TomatoYuyuko
        1
    TomatoYuyuko  
       2018-10-31 11:08:12 +08:00   ❤️ 1
    var $el = $(document.getElementById("ABC@EFG"));
    hahastudio
        2
    hahastudio  
       2018-10-31 11:13:24 +08:00   ❤️ 1
    $('[id="ABC@EFG"]')
    dorentus
        3
    dorentus  
       2018-10-31 13:52:46 +08:00 via iPhone   ❤️ 1
    $('[id="ABC@EFG"]') 这样可以吗?
    dorentus
        4
    dorentus  
       2018-10-31 18:35:07 +08:00
    另外我试了一下 $('#ABC\\@EFG') 也是可以的
    supuwoerc
        5
    supuwoerc  
       2018-10-31 20:42:51 +08:00
    二楼正解啊。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 15:16 · PVG 23:16 · LAX 08:16 · JFK 11:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.