我有以下代码将活动类添加到选定的 div:
$("div #"+ myID).addClass( "active" );
这仅在 myID 是一个单词时有效,当 myID 中有空格时,代码损坏,我试图用引号将 myID 包装起来,但不起作用。
很多内容都有空格,因为我不是内容所有者,无法控制更正内容,我只能修改我的代码以处理内容。有没有办法用空格指向 div id?谢谢你。
问题解决了。谢谢你们 :-)
我有以下代码将活动类添加到选定的 div:
$("div #"+ myID).addClass( "active" );
这仅在 myID 是一个单词时有效,当 myID 中有空格时,代码损坏,我试图用引号将 myID 包装起来,但不起作用。
很多内容都有空格,因为我不是内容所有者,无法控制更正内容,我只能修改我的代码以处理内容。有没有办法用空格指向 div id?谢谢你。
问题解决了。谢谢你们 :-)
元素 ID 不应包含空格。
ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。
来自 HTML规范。
如果元素 ID 超出您的控制范围,\\
请在选择器中转义空格:
<div id="target element"></div>
$('#target\\ element').doSomething(); // escape invalid chars with \\
在您的情况下,您必须将 myID 中的空格替换为'\\ '
$("div #"+ myID).addClass( "active" );
只是上面的代码无效的
HTML5 全局id
属性:
id 属性id
为 HTML 元素指定一个唯一性(该值在 HTML 文档中必须是唯一的)。
id 属性最常用于指向样式表中的样式,并由 JavaScript(通过 HTML DOM)以特定的id
.
示例:在 HTML5中,下面的 id是有效的。
<p id="#">Foo.</p>
<p id="##">Bar.</p>
<p id="♥">Baz.</p>
<p id="©">Inga.</p>
<p id="{}">Lorem.</p>
<p id="“‘’”">Ipsum.</p>
<p id="⌘⌥">Dolor.</p>
<p id="{}">Sit.</p>
<p id="[attr=value]">Amet.</p>
<p id="++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.">Hello world!</p>
在 jQuery 中: jQuery 确实处理任何有效的ID名称。我们只需要转义元字符(点、分号、方括号...等)。(就像java脚本有引号问题)。
在 jQuery 中使用id有以下限制。
// Does not work
$("#some:id")
// Works!
$("#some\\:id")
// Does not work
$("#some.id")
// Works!
$("#some\\.id")
请参阅此处的参考