javascript - jQuery/HTML5 选择并设置父项和所有子项的样式

标签 javascript jquery css html twitter-bootstrap

我正在使用 bootstrap 3.0 制作一个漂亮的边栏。我正在寻找克隆 当前使用 jQuery 的一点 HTML 并将其附加到页面:

<a class="list-group-item" href="#">
                <div class="list-group">
                <h4 class="list-group-item-heading">Upcoming awesome</h4>
                <p class="list-group-item-text">Awesome stuff is here</p>                
                </div>
            </a>

和JS

 $(document).ready(function () {
            $appts = $('a.list-group-item > div').contents().andSelf().clone()
            $appts.appendTo('body');

        });

目前,我没有得到我希望的行为,你可以看到 here

我知道 HTML4 不允许在 anchor 标记内使用 div,但我使用的是 Chrome,但我仍然无法获得正确的样式(请注意 bootstrap CSS 和 bootstrap.js 包含在 fiddle 中)。我有几个问题:

  1. 为什么新添加的 jQuery 对象的样式与源代码中包含的对象的样式不同?
  2. 为什么 jQuery 附加初始 jQuery 对象的额外副本?

最佳答案

我会按顺序回答你的问题。

  1. 样式不同的原因是样式应用于 <a>标记并且您正在克隆 <a> 中的内容标签,而不是标签本身。
  2. Jquery 附加了选择器的内容选择器,这意味着您看到了双重内容。

如果您想附加样式标签,以下代码片段应该有效:

$(document).ready(function () {
    // store a copy of the container 'list-group-item'
    $appts = $('a.list-group-item').clone()
    // append that copy
    $appts.appendTo('body');
});

关于javascript - jQuery/HTML5 选择并设置父项和所有子项的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305422/

相关文章:

javascript - jQuery 验证 : Uncaught type error:$(. ..) formValidation 不是函数

html - DOM 找到 2 个具有非唯一 ID #idName 的元素

javascript - React 代码旁边的 jQuery 代码示例 (noob)

javascript - html代码不在 Notepad++ 上运行

javascript - 在javascript中替换字符串中的2组不同的单词

javascript - Android发送短信onload JS

html - CSS 固定位置导航与整页布局中的设置宽度对齐

html - 使用 css 插入的响应图像

javascript - rails 4 中页面特定的 Javascript 代码

javascript - Laravel - Dropzone 未上传所有文件