<div id="content">
<textarea id="#example-1">
</textarea>
<textarea id="#example-2">
</textarea>
</div>
和 Jquery
var xyz = $("content##example-1").val();
这段代码对我不起作用。它崩溃 - 显示未定义。当我从文本区域的 div 中删除“#”并从 JS 代码中删除一个“#”时,它就起作用了。它需要与带有“#”的 id 一起使用。 我可以将变量放入 $() 引号后吗?例如:
$("content#"variable)
最佳答案
Escape the special character in the ID ,然后删除该 content
部分。因为element IDs must be unique ,ID 选择器最多匹配一个元素。因此,超出此范围的任何内容都被过度指定。
var xyz = $("#\\#example-1").val();
更好的是,不要在 ID 中使用特殊字符:
<div id="content">
<textarea id="example-1">
</textarea>
<textarea id="example-2">
</textarea>
</div>
var xyz = $('#example-1').val();
<小时/>
how about $("content#"variable)? Is it possible? Is it exist any possibility to deal with it?
这不是有效的 JavaScript;你需要使用字符串连接。此外,选择器 'content'
会匹配标记名称为 content
的元素,这不是您想要的。相信我:只需完全删除 content
部分即可。
然后使用我链接的 jQuery FAQ 中描述的 jq
函数。
var xyz = $(jq(variable)).val();
关于javascript - 如何在 jQuery 中使用包含 '#' 的 ID 选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9676704/