选择 ID 中带有特殊字符的元素

新手上路,请多包涵

在 html 代码中,我使用代码 <input type = "text" id = "abc@def.com"> 来获取文本,现在它需要获取在文本字段中输入的值。我正在使用 jquery 来做到这一点:

 $( document ).ready( function() {
    $( ".bid" ).click( function() {
        idVal = this.id
        bidID = "#" + idVal + "bid"
        spanID = "#" + idVal + "cbid"
        bidValue = $(bidID).val();

        alert(idVal)
        alert(bidID)
        alert(bidValue) //this alert says undefined
        $( spanID ).html( '&nbsp;' ).load( '{% url online_machines %}?id=' + idVal + '&bidvalue=' + bidValue);
    });
});

通过这样做,我得到了未定义的值错误。我试图从 id 中删除特殊字符以获取其值。但我需要带有特殊字符的 id。如何使用 jquery 获取它的值?

原文由 big 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 412
2 个回答

不要尝试使用 # 来获取 ID,而是尝试像这样匹配属性,

 $('[id=ID]')

要么

$('[id='+ID+']')

所以而不是

bidID = "#" + idVal + "bid"

你可以试试

bidID = "[id=" + idVal + "bid]"

原文由 user250145 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题