在$(“#string”)中添加字符串

时间:2013-03-06 10:09:10

标签: javascript jquery

说我有代码:

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

但我希望auto成为字符串:

var string="auto";

然后我想用它作为:

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

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

有人告诉我,我们必须使用转义字符串以便以这种方式使用它,但后来不知道为什么,我没有任何运气。

10 个答案:

答案 0 :(得分:1)

这样做:

$('#' + string)

答案 1 :(得分:1)

这就是你要找的东西:

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

答案 2 :(得分:1)

jQuery允许您为选择器使用变量而不会出现问题。您只需要记住调用正确的元素,因此如果您要求ID,请记住在string变量值之前使用

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

答案 3 :(得分:0)

写:

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

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

写:

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

“一些解释”

希望这有帮助!

答案 6 :(得分:0)

<script>
 var string = 'auto';
 $("#"+string).append('THE STRING YOU WANT');
</script>

<div id="auto"><div>

我希望这会有所帮助。

答案 7 :(得分:0)

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

$(document.getElementById(string))
    .append($('<div />', {id: results_id}));

答案 8 :(得分:0)

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

"#auto"是一个字符串。

如果我声明一个变量:

var myString = "auto";

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

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

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

但是,因为您可以将字符串作为参数传递给特殊的$("#")函数,以便#之后的任何内容从抓取页。

因此,您可以使用上面示例中的$("#auto")代替$("#"+myString)之类的固定和预定参数来实现相同的结果,但现在可以通过操纵myString的值来实现您可以使用相同的$("#"+myString)执行大量操作,而无需反复使用确切的元素名称。

答案 9 :(得分:0)

var string = "auto";
$('#' + string).append(.....);

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

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

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