jQuery 丢失格式

标签 jquery

我是 jQuery 新手,正在尝试注入(inject) <div> 的 HTML 内容进入另一个<div> 。 这是我正在使用的代码:

<div class="relatedItems"> </div>

<script>
    jQuery.noConflict();
    jQuery(document).ready(function() {
        var related = jQuery("div.itemRelated").html();   
        jQuery("div.relatedItems").html("<div class='itemRelated'>" + related + "</div>");  
    });
</script>

问题是注入(inject)的 HTML 的格式与原始 HTML 的格式不同。

我很想发布图片,但不能,因为我是新用户

如果我遗漏了什么,有什么想法吗?

最佳答案

这不是复制 HTML 元素的理想方法。完整原因请参阅我对 Why should y.innerHTML = x.innerHTML; be avoided? 的回答。 jQuery 可以以更优雅的方式为您处理这个问题:

var related = jQuery('div.itemRelated')
    .clone(true, true);
jQuery('div.relatedItems').html(related);

这可能会解决您的一些问题,特别是与事件处理程序相关的问题。但是,如果样式不正确,您需要调整一些特定的样式规则。使用 Chrome 控制台或 Firebug 等 DOM 检查器来检查相关元素,以查看哪些样式已应用/未应用。

关于jQuery 丢失格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144636/

相关文章:

jquery - XmlHttpRequest 与 jQuery

jquery - 使用 javascript 解析 Restful Web 服务 xml 响应

javascript - 按钮更新第一个元素的文本而不是所选元素

javascript - jQuery 平滑滚动到新页面链接

javascript - 在 selectOneMenu 更改时在同一窗口中打开对话框

javascript - 随时将 Active 属性仅设置为 Backbone Collection 中的 1 个模型

javascript - 无法读取未定义的属性 '$scrollElement'

php - 我是否需要在加载了 ajax 的 PHP 页面中再次包含 PHP 脚本?

jQuery <nobr> 选择器

javascript - 滚动条上的粘性右侧菜单预选