html标记的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?


尝试转义它:

$('#abc@def.com').val();

http://api.jquery.com/category/selectors/的第一段


而不是尝试使用#编号,尝试这样匹配这样的属性,

$('[id=ID]')

要么

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

所以不是

bidID = "#" + idVal + "bid"

你可以试试

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

它看起来像JQuery有一个有用的方法,从版本3称为escapeSelector

$('#' + $.escapeSelector(my_id_with_special_chars));

https://api.jquery.com/jQuery.escapeSelector/

链接地址: http://www.djcxy.com/p/88013.html

上一篇: special characters in id of html tags

下一篇: storage duration of underlying character data with user