我有一个使用id创建的div,我添加了带预设CSS属性的span
$(".main").append("<div class=largeBox id=" + counter + "</div>");
$(".largeBox").append("<span class=mainTitle></span>");
然后我尝试将文本加载到框中,但选择无法正常工作。任何人都可以告诉我为什么?
var id = "#" + counter;
$(id + " .mainTitle").text(title);
答案 0 :(得分:0)
你附加的不完全正确。你需要在类和id属性周围添加引号。
你也错过了结束&gt;你的div的标签。
$(".main").append('<div class="largeBox" id="' + counter + '"></div>');
$(".largeBox").append('<span class="mainTitle"></span>');
答案 1 :(得分:0)
您必须将class和id值放在引号内。您可以使用两种类型的引号:"
和'
。
var counter = 0;
$(".main").append("<div class='largeBox' id='" + counter + "'></div>");
$(".largeBox").append("<span class='mainTitle'></span>");
var id = "#" + counter;
$(id + " .mainTitle").text("test");
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
</div>
&#13;
答案 2 :(得分:0)
你不实际上需要在类名或ID周围加上引号,我故意在答案中省略它们,以表明这里不是问题。
你有一个问题,你实际上是将所有跨度附加到所有以前的大盒div。我添加了for
循环,以便您可以看到它现在是如何工作的,但使用$(".largeBox").eq(counter)
会使标题分别附加到每个div。
此外,ID不应该以数字开头(如果您想支持HTML4浏览器),那么现在它们的形式为lb-number
(lb表示bigBox)
var counter = 0;
for(counter=0;counter<5;counter++){
$(".main").append("<div class=largeBox id=lb-" + counter + "></div>");
$(".largeBox").eq(counter).append("<span class='mainTitle'></span>");
var id = "#lb-" + counter;
$(id + " .mainTitle").text("test");
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
</div>
&#13;