说我有代码:
$("#auto").append('<div id="' + results_id + '"></div>');
但我想auto成为一个字符串:
var string="auto";
然后我想用它作为:
$("\'+string+'\").append('<div id="' + results_id + '"></div>');
我不知道为什么,但这会引发一些错误。
有人暗示我必须使用转义字符串才能以这种方式使用它,但是不知道为什么,我没有运气。
说我有代码:
$("#auto").append('<div id="' + results_id + '"></div>');
但我想auto成为一个字符串:
var string="auto";
然后我想用它作为:
$("\'+string+'\").append('<div id="' + results_id + '"></div>');
我不知道为什么,但这会引发一些错误。
有人暗示我必须使用转义字符串才能以这种方式使用它,但是不知道为什么,我没有运气。
这就是您要查找的内容:
var string = "auto";
$('#' + string).append('<div id="' + results_id + '"></div>');
jQuery 允许您毫无问题地为选择器使用变量。您只需要记住调用正确的元素,因此如果您调用 ID,请记住在变量值之前使用# 。string
var string="auto";
$("#"+string).append('<div id="' + results_id + '"></div>');
像这样做:
$('#' + string)
您的 qoutes 没有正确嵌套,并且您错过了尖锐的标志。也许尝试这样的事情:
$("#"+string).append('<div id="' + results_id + '"></div>');
写:
var myString = '#' + MYID;
$(myString).append('<div id="' + results_id + '"></div>');
“一些解释”
希望这可以帮助!
基本问题是您混淆了变量名及其值。
"#auto"是一个字符串。
如果我声明一个变量,如:
var myString = "auto";
然后注意变量 myString包含值,"auto"。
在 jQuery 中,您可以通过调用它来获取要操作的元素(我们下面的示例中的 div)$("#auto")- 这意味着我想要在 HTML 页面上声明的页面元素:
<div id="auto">...</div>
但是,由于您可以将字符串作为参数传递给特殊$("#")函数,以便从页面中#获取紧随其后的任何内容。
因此,您$("#auto")可以使用$("#"+myString)上面示例中的固定和预先确定的参数来代替像再次。myString$("#"+myString)
您实际上不必使用 jQuery 来解析符号本身。你可以<div />用更好的方式创建你的:
$(document.getElementById(string))
.append($('<div />', {id: results_id}));
var string = "auto";
$('#' + string).append(.....);
希望这是您问题的解决方案。
并且可以查看以下链接以了解有关选择器的更多信息。
https://css-tricks.com/forums/discussion/9766/jquery-selector-div-variable/p1
写:
$('#' + string).append('<div id="' + results_id + '"></div>');
<script>
var string = 'auto';
$("#"+string).append('THE STRING YOU WANT');
</script>
<div id="auto"><div>
我希望这有帮助。