4

jqueryを使用してdom要素を再レンダリングする方法を考えていました。ID でテーブルをキャプチャし、jquery を使用してテーブルを再レンダリングしたいと考えています。

このテーブルは動的に入力されます。そして、htmlファイルが読み込まれた後にテーブルを追加しているので、頭にあるJsファイルは、htmlページを読み込んだ後に追加したテーブルに応答しません。これはエディタを介して行われます。

したがって、jquery を使用してテーブルを再レンダリングする必要があります。フレームワークとして Jquery と Jquery mobile を使用しています。

*申し訳ありませんが、私は間違った道をたどっていたようです. 私が実際にやりたいことは、jquery mobile を使用して dom 要素を再レンダリングすることです。

    function insertTemplate(ui, html) {
    var el, n, dom = editor.dom, sel = editor.selection.getContent();

    each(editor.getParam('template_replace_values'), function(v, k) {
        if (typeof(v) != 'function') {
            html = html.replace(new RegExp('\\{\\$' + k + '\\}', 'g'), v);
        }

    });

    el = dom.create('div', null, html);

    // Find template element within div
    n = dom.select('.mceTmpl', el);
    if (n && n.length > 0) {
        el = dom.create('div', null);
        el.appendChild(n[0].cloneNode(true));
    }

    function hasClass(n, c) {
        return new RegExp('\\b' + c + '\\b', 'g').test(n.className);
    }

    each(dom.select('*', el), function(n) {
        // Replace cdate
        if (hasClass(n, editor.getParam('template_cdate_classes', 'cdate').replace(/\s+/g, '|'))) {
            n.innerHTML = getDateTime(editor.getParam("template_cdate_format", editor.getLang("template.cdate_format")));
        }

        // Replace mdate
        if (hasClass(n, editor.getParam('template_mdate_classes', 'mdate').replace(/\s+/g, '|'))) {
            n.innerHTML = getDateTime(editor.getParam("template_mdate_format", editor.getLang("template.mdate_format")));
        }

        // Replace selection
        if (hasClass(n, editor.getParam('template_selected_content_classes', 'selcontent').replace(/\s+/g, '|'))) {
            n.innerHTML = sel;
        }
    });

    replaceVals(el);

    editor.execCommand('mceInsertContent', false, el.innerHTML);
    editor.addVisual();
    /*$('#testjqtable').trigger("create");*/
  //$("#testjqtable").table("refresh");

   // $("#lsEditorArea_ifr").load('<table data-role="table" id="movie-table" data-mode="reflow" class="ui-responsive table-stroke jqm-table"><thead><tr><th data-priority="1">Rank</th><th data-priority="persist">Movie Title</th><th data-priority="2">Year</th><th data-priority="3"><abbr title="Rotten Tomato Rating">Rating</abbr></th><th data-priority="4">Reviews</th></tr></thead><tbody><tr><th>1</th><td><a href="http://en.wikipedia.org/wiki/Citizen_Kane" data-rel="external">Citizen Kane</a></td><td>1941</td><td>100%</td><td>74</td></tr><tr><th>2</th><td><a href="http://en.wikipedia.org/wiki/Casablanca_(film)" data-rel="external">Casablanca</a></td><td>1942</td><td>97%</td><td>64</td></tr><tr><th>3</th><td><a href="http://en.wikipedia.org/wiki/The_Godfather" data-rel="external">The Godfather</a></td><td>1972</td><td>97%</td><td>87</td></tr><tr><th>4</th><td><a href="http://en.wikipedia.org/wiki/Gone_with_the_Wind_(film)" data-rel="external">Gone with the Wind</a></td><td>1939</td><td>96%</td><td>87</td></tr><tr><th>5</th><td><a href="http://en.wikipedia.org/wiki/Lawrence_of_Arabia_(film)" data-rel="external">Lawrence of Arabia</a></td><td>1962</td><td>94%</td><td>87</td></tr></tbody></table>');

}
4

1 に答える 1