使用id =“(name)”的div我可以使用或不使用吗?

时间:2013-09-10 12:33:52

标签: javascript jquery html jquery-mobile

我可以在jquery mobile中使用"("")"的ID吗?

例如:

<div id="RSI(3,4)">
</div>

我已尝试过该ID,并希望在js中访问该元素。

$("#RSI(3,4)").html("some text");

但它没有用。

3 个答案:

答案 0 :(得分:5)

逃离特殊字符

$("#RSI\\(3\\,4\\)").html("some text");

http://api.jquery.com/category/selectors/

  

使用任何元字符(例如!“#$%&amp;'()* +,。/:;&lt; =&gt;?@ [\ _] ^`{|}〜)作为名称的文字部分,必须使用两个反斜杠转义:\\。例如,id =“foo.bar”的元素,可以使用选择器$(“#foo \\。bar”)。

也就是说,关于在ID中使用特殊字符的有效性,一些验证器会抱怨并且我当然不建议在ID中使用任何特殊字符,也不要使用前导数字,因为您可以根据最新的html规范。让您的生活更轻松,只使用a-zA-Z0-9,如果需要,可以使用下划线

答案 1 :(得分:1)

W3C Validator说这个HTML代码

<html>
<head>
    <title>TITLE</title>
</head>
<body>
    <div id="RSI(3,4)"></div>
</body>
</html>

对html5有效,但对html4.01 Strict无效,(属于id属性中的\\无效字符。 http://validator.w3.org/check

在jQuery中,你必须使用{{1}}

来逃避它们

http://api.jquery.com/category/selectors/

答案 2 :(得分:1)

请你查看jsfiddle

$(document).ready(function() {
$("#RSI\\(3\\,4\\)").html("some text");
});

工作正常