这是我想在div
's中添加的字符串id
。
var str = "abcs's ah js";
$("div").append("<div id=" + str + ">JKL</div>");
当它渲染时,它看起来像这样:
<div id="abc" ah="" js="" s></div>
这是我想在div
's中添加的字符串id
。
var str = "abcs's ah js";
$("div").append("<div id=" + str + ">JKL</div>");
当它渲染时,它看起来像这样:
<div id="abc" ah="" js="" s></div>
带有引号和空格的 ID无效:
ID 和 NAME 标记必须以字母 ([A-Za-z]) 开头,后跟任意数量的字母、数字 ([0-9])、连字符 ("-")、下划线 ("_") , 冒号 (":") 和句点 (".")。
删除无效字符,它将起作用。
更新(感谢@Joachim Isaksson):在HTML5 中,ID 属性允许使用引号,在这种情况下,您可以参考@Jack的答案并让 jQuery 处理属性转义。
str
有'
引号,它不是属性的有效值id
,直到 HTML5 .. 它'
在 HTML 5 中是 () 有效的。
请注意 in中的空格
str
。这在 html5 和 html4 中也无效。
用于将您的str
值添加到 id 属性。试试下面的代码
$("div").append('<div id="' + str + '">JKL</div>');
您可以使用属性选择器选择它们,例如:$('[id="'+str+'"]')[0]
。我已将其添加到jsfiddle中。
@杰克感谢您的评论
您可以通过使用上述答案来做到这一点,但空格字符对于 ID 属性无效。