在Jquery中将变量显示为类名

时间:2016-09-19 12:38:32

标签: javascript jquery

我正在尝试使用Jquery逐步显示div,但是我在获取正确的语法以将变量显示为类时遇到问题。这是我的代码:

var mydiv_id = 'wacek_'+$a; /wacek_1, wacek_2, etc 

$("<div class="+mydiv_id"></div>").appendTo('body');
$( ".col-sm-4" ).append( $( '.'+mydiv_id ) );
$('.'+mydiv_id).hide();

我无法做到这一点,任何帮助都会受到高度赞赏。

7 个答案:

答案 0 :(得分:1)

var mydiv_id = 'wacek_'+$a; /wacek_1, wacek_2, etc 

$("<div class="+mydiv_id+"></div>").appendTo('body');
$( ".col-sm-4" ).append( $( '.'+mydiv_id ) );
$('.'+mydiv_id).hide();

试试这个。你的代码中缺少一个+。

答案 1 :(得分:1)

请使用

$("<div class='"+mydiv_id+"'></div>").appendTo('body');

而不是

$("<div class="+mydiv_id"></div>").appendTo('body');

请查看以下代码段以获取更多理解。

var $a = '1';
var mydiv_id = 'wacek_'+$a; //wacek_1, wacek_2, etc 

$("<div class='"+mydiv_id+"'></div>").appendTo('body');
$( ".col-sm-4" ).append( $( '.'+mydiv_id ) );
$('.'+mydiv_id).hide();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

答案 2 :(得分:1)

检查this fiddle

您的语法错误很小:

$("<div class="+mydiv_id"></div>").appendTo('body');

应该是

$("<div class='"+mydiv_id+"'></div>").appendTo('body');

而且我不明白为什么你首先将HTML添加到身体然后再添加到你的DIV中。链接jQuery函数也更容易。意味着代替:

$("<div class='"+mydiv_id+"'></div>").appendTo('body');
$( ".col-sm-4" ).append( $( '.'+mydiv_id ) );
$('.'+mydiv_id).hide();

你可以用这个:

$("<div class='"+my_id+"'>s</div>").appendTo('.col-sm-4').hide();

结果相同。

答案 3 :(得分:0)

您正在使用字符串连接变量,并且在变量之后缺少+。如果在变量之后再次出现字符串,则需要在两侧。另外,请不要忘记将创建的字符串括在"(或')中:

$("<div class='" + mydiv_id + "'></div>")

在下面的两个陈述中,变量是最后一个表达式 - 因此您不需要额外的+ - 所以这是正确的:

$('.' + mydiv_id);

答案 4 :(得分:0)

// This is not a proper comment. Use `//` for comments. 
var mydiv_id = 'wacek_'+$a; //wacek_1, wacek_2, etc 

// Missing your quotes around your class attribute. 
// missing concatenation. Also, instead of appending it to the body
// and then appending it to the your .col-sm-4, just
// append it to the column in the first place: Change 2nd line to:
$("<div class='"+mydiv_id+"'></div>").appendTo('.col-sm-4');

// Remove third line..
$('.'+mydiv_id).hide();

答案 5 :(得分:0)

正如其他答案所示,您在附加类时会出现语法错误。代码可以以不同的方式完成,因此您不必担心构建字符串。 jQuery docs。也没有理由将元素附加到文档,选择元素,然后重新加载它。您在创建元素时会引用该元素,因此只需使用该引用。

var myDiv = $("<div></div>", {
        "class" : mydiv_id
    });
myDiv.hide()
myDiv.appendTo(".col-sm-4");

或一行:

var myDiv = $("<div></div>", {
        "class" : mydiv_id
    }).hide()
    .appendTo(".col-sm-4");

答案 6 :(得分:-1)

使用它 所有的字符串一个接一个地

 $("<div class="+mydiv_id+">"+"</div>")

$("<div class="+mydiv_id+"></div>")