2

说我有代码:

$("#auto").append('<div id="' + results_id + '"></div>');

但我想auto成为一个字符串:

var string="auto";

然后我想用它作为:

$("\'+string+'\").append('<div id="' + results_id + '"></div>');

我不知道为什么,但这会引发一些错误。

有人暗示我必须使用转义字符串才能以这种方式使用它,但是不知道为什么,我没有运气。

4

10 回答 10

1

这就是您要查找的内容:

var string = "auto";
$('#' + string).append('<div id="' + results_id + '"></div>');
于 2013-03-06T10:11:30.923 回答
1

jQuery 允许您毫无问题地为选择器使用变量。您只需要记住调用正确的元素,因此如果您调用 ID,请记住在变量值之前使用# 。string

var string="auto";
$("#"+string).append('<div id="' + results_id + '"></div>');
于 2013-03-06T10:11:32.100 回答
1

像这样做:

$('#' + string)
于 2013-03-06T10:11:25.477 回答
0

您的 qoutes 没有正确嵌套,并且您错过了尖锐的标志。也许尝试这样的事情:

$("#"+string).append('<div id="' + results_id + '"></div>');
于 2013-03-06T10:11:44.500 回答
0

写:

var myString = '#' + MYID;
$(myString).append('<div id="' + results_id + '"></div>');

“一些解释”

希望这可以帮助!

于 2013-03-06T10:13:17.230 回答
0

基本问题是您混淆了变量名及其值。

"#auto"是一个字符串。

如果我声明一个变量,如:

var myString = "auto";

然后注意变量 myString包含值,"auto"

在 jQuery 中,您可以通过调用它来获取要操作的元素(我们下面的示例中的 div)$("#auto")- 这意味着我想要在 HTML 页面上声明的页面元素:

<div id="auto">...</div>

但是,由于您可以将字符串作为参数传递给特殊$("#")函数,以便从页面中#获取紧随其后的任何内容。

因此,您$("#auto")可以使用$("#"+myString)上面示例中的固定和预先确定的参数来代替像再次。myString$("#"+myString)

于 2013-03-06T10:21:04.633 回答
0

您实际上不必使用 jQuery 来解析符号本身。你可以<div />用更好的方式创建你的:

$(document.getElementById(string))
    .append($('<div />', {id: results_id}));
于 2013-03-06T10:20:48.950 回答
0
var string = "auto";
$('#' + string).append(.....);

希望这是您问题的解决方案。

并且可以查看以下链接以了解有关选择器的更多信息。

https://css-tricks.com/forums/discussion/9766/jquery-selector-div-variable/p1

于 2013-03-06T10:26:24.940 回答
0

写:

$('#' + string).append('<div id="' + results_id + '"></div>');
于 2013-03-06T10:11:19.550 回答
0
<script>
 var string = 'auto';
 $("#"+string).append('THE STRING YOU WANT');
</script>

<div id="auto"><div>

我希望这有帮助。

于 2013-03-06T10:14:20.190 回答