-1

选项1:

  <div class="box">I'm a big box</div>
    <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script>
    $('</div>').append("<div class='newbox'>I'm new box by prepend</div>");
    </script>

选项2:

<div class="box">I'm a big box</div>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$('.box').append("<div class='newbox'>I'm new box by prepend</div>");
</script>

问题:

为什么option1不起作用,option2起作用?

4

4 回答 4

2

第一个选项中的选择器是错误的。使用标签选择器时,无需包含<左大括号和右大括号>,只需在字符串文字中使用标签名称即可。

<div class="box">I'm a big box</div>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
    $('div').append("<div class='newbox'>I'm new box by prepend</div>");
</script>

第二个选项有效,因为您使用的是正确的类选择器,.box.

如果需要,您可以结合使用这两种方法。

 $('div.box').append("<div class='newbox'>I'm new box by prepend</div>");
于 2013-06-24T09:05:47.917 回答
2

当您将一个以 开头"<"和结尾的字符串传递给 jQuery 时">",jQuery 会将其解释为 HTML 并尝试创建一个 DOM 片段。这个片段没有添加到 DOM,所以你只是在无处追加。

您可能想选择页面中已经存在的 div:

 $('div').append("<div class='newbox'>I'm new box by prepend</div>");
于 2013-06-24T09:06:07.777 回答
0

你也可以试试

$('div').append("<div class='newbox'>I'm new box by prepend</div>");
于 2013-06-24T09:05:32.483 回答
0

尝试将选择器从更改$('</div>')$('<div>')

<div class="box">I'm a big box</div>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$('<div>').append("<div class='newbox'>I'm new box by prepend</div>");
</script>
于 2013-06-24T09:06:52.827 回答