【问题标题】:Jquery wrapInner not working on pageJquery wrapInner 在页面上不起作用
【发布时间】:2015-07-13 21:30:57
【问题描述】:

我遇到了一些以前从未见过的 wrapInner 问题。该页面是一个动态生成的页面,这是预期的,我正在尝试将一个 div 的所有元素包装在一个表格的表格中。

以下是 HTML 代码示例:

<div class="n-files-all" id="yw4">
    <div class="yiiPager">
        <div class="n-file">content</div>
        <div class="n-file">content</div>
        <div class="n-file">content</div>
    </div>
</div>

这里是javascript:

var checkExist = setInterval(function() {
    if ( icon_container.find(".n-file").length ) {
        // if there are children, do this
        console.log("There are n-files!");
        $(".n-files-all .yiiPager").wrapInner("<table id='myGrid' class='tablesorter'></table>");
        clearInterval(checkExist);
    }
}, 100);

它进入 if 块,因为我可以将发送日志放入控制台,我可以在那里看到它。

我试图以这个非常简单的方式结束(我最终会将内部元素包装在 tr 和 td 中):

<div class="n-files-all" id="yw4">
    <div class="yiiPager">
        <table id="myGrid" class="tablesorter">
            <div class="n-file">content</div>
            <div class="n-file">content</div>
            <div class="n-file">content</div>
        </table>
    </div>
</div>

这是最重要的,如果我将代码复制并粘贴到控制台中,它就可以正常工作并执行我想要的操作。会发生什么? setInterval 应该通过等待内容来工作,但我也尝试了 $( document ).ready() 来等待整个文档加载。

提前致谢!

更多信息:

因此,如果我将纯文本附加或预先添加到 div 中,它会起作用。但如果我尝试在 html 前面添加或附加任何内容,它不会,它会删除 HTML 并只留下文本。

【问题讨论】:

  • icon_container.lengthif 块中的计算结果是什么?也许它是在 DOM 准备好之前定义的。
  • 复制时哪个代码部分有效?包括 setInterval 在内的整个事情?
  • 计算结果为 3,即 div 中有多少孩子。谢谢。
  • 这部分工作,减去 setInterval 代码:if ( icon_container.find(".n-file").length ) { console.log("There are n-files!"); $(".n-files-all .yiiPager").wrapInner("&lt;table id='myGrid' class='tablesorter'&gt;&lt;/table&gt;"); }

标签: javascript jquery


【解决方案1】:

如果你改变了:

if ( icon_container.find(".n-file").length ) {

if ( $('#yw4 .yiiPager .n-file').length > 0 ) {

无论如何,如果我们假设 icon_container 被正确定义,那么原始文件似乎是有效的。

【讨论】:

  • 不工作:/ 其他 js 工作,但我不能在任何东西上使用 wrapInner。
  • 如果我在var checkExist = setInterval(function() { 行之前添加以下var icon_container = $("#yw4");,这对我有用
猜你喜欢
  • 1970-01-01
  • 2016-01-03
  • 1970-01-01
  • 1970-01-01
  • 2012-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-12
相关资源
最近更新 更多