【问题标题】:What is the proper way to create div inside a div?在 div 中创建 div 的正确方法是什么?
【发布时间】:2011-06-30 06:20:56
【问题描述】:

似乎Angle Brackets Are Not Allowed in the createElement Method 对插件有一些影响。

我没有插件,也没有IE9,但为了我自己的教育,在jQuery 1.6+中编写以下两行代码的正确方法是什么

$('<div id="'+options.loupeWrap.substring(1)+'"><div id="'+options.loupe.substring(1)+'" /></div>').appendTo(options.appendTo);
$('<div id="'+options.zoomWrapper.substring(1)+'" />').appendTo(options.loupe);

例如我见过 $('&lt;div class="bla"&gt;&lt;/div&gt;') 但不是 $('&lt;div id="bla"&gt;&lt;/div&gt;') 并且我很好奇如何干净地创建一个带有 ID 的 div 并将其链接到另一个带有 ID 的 div 使用最佳实践 jQuery 而不仅仅是因为 jQuery 而起作用的东西很聪明。

我还查看了wrap

This SEEMS to be valid and correct

是吗?

$('<div>')
  .attr('id',outerID)
  .append(
    $('<div>')
    .attr('id',innerID)
  )
  .appendTo(options.appendTo);

感谢您的意见。

【问题讨论】:

  • 我刚刚在 IE9 中尝试了 CoolEsh 的小提琴,它工作正常。所以如果这个特性恰好是 IE9 独有的(我不知道),那么 jQuery 会处理它。

标签: jquery jquery-plugins internet-explorer-9


【解决方案1】:

这是我用 jQuery 做的:

$('<div>', { 
    id: 'outsidediv'
}).append( $('<div>', { 
    id: 'innerdiv'
})).appendTo('#container');

示例:JsFiddle Demo * 该示例展示了如何将 html 添加到 div 中

【讨论】:

    【解决方案2】:

    HTML:

    <div id="myelement">My Element Content</div>
    

    JS:

    $( '<div id="outer">Outer Div Content<div id="inner">Inner Div Content</div></div>' ).appendTo( '#myelement' );
    

    那么问题是什么? http://jsfiddle.net/657nG/1/

    【讨论】:

    • 这是 jQuery 最基本的行为及其预期用途的一部分。它没有什么不安全的(我的意思是,在您传递有效标记和唯一 ID 的范围内)。
    • 问题似乎是它生成了无效的(根据 IE)标记,其中 createElement 获取 IE9 中不再允许的 html 标记。我没有 IE9,所以我无法验证什么有效,但我认为 $('
      ') 没问题,而 $('
      ') 不是
    • 好吧,我们能不能让它更优雅,至少更像 jQuery?像 $('div').attr('id','outer').append($('div').attr('id','inner')).appendTo(myelement) 或者比什么更干净的东西现在有吗?
    • 我认为 $( '
      外部 Div 内容
      内部 Div 内容
      ' ).appendTo( '#我的元素');比 attr 和 append 的队列更具可读性。
    • 但它在创作中嵌入了尖括号。在我看来,链式调用更合乎逻辑。但似乎没有其他人有任何建议。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签