2

ページのコンテンツを自動保存してデータベースにダンプしようとしています。挿入する前に、HTML要素のIDは自動生成され、ユーザーが編集する編集ページ以外では不要であるため、削除したいと思います。 。(私はこれを達成しました)しかし、私が直面している問題は、ユーザーがページを再編集するときに、IDのバックを再度追加したいということです(私たちが書いたランダム関数を介して)。これは私がPHPを使用してデータベースからデータをフェッチする方法です

    <?php
    $sqlEdit = "select revisionContent from tbl_revision where revisionId='".$_SESSION['contentId']."'"; //The query to get the record
    $rsEdit = $dbObj->tep_db_query($sqlEdit);                                                                                //The database object to execute the query   
    $resEdit = $dbObj->getRecord($rsEdit);                                                                                       
    $IdLessContent = $resEdit['revisionContent'];                                                                            //Variable with the record
      ?>

今、私はこのPHP変数をjavascriptで使用したいので、これを行いました。

  <script language="javascript">
    var getSavedContent = '<?php echo json_encode($IdLessContent); ?>';
    var trimmedCont=($.trim(getSavedContent).slice(1));
    //console.log(trimmedCont);
    var lengthCont= trimmedCont.length;
    var trimmedCont=$.trim(trimmedCont.slice(0,lengthCont-1));
            var pageContent=$('<div class="addId">').append(trimmedCont); //Here I tried creating a div dynamically and appending the content to the div.But now I am not able to manipulate or work on this dyamic div and get NULL when I alert saying $('.addId').html();
            $('.addId').children().attr('id', 'test');               //Itried doing this but does not work

どうすればそれを達成できますか?動的divを追加しようとしましたが、失敗しました。DOMに問題がありますか?DOMで動的divを取得できませんか?意見を述べて、考えを共有してください。
お時間をいただきありがとうございます

4

3 に答える 3

3

これをJSコンソールで実行すると、次のようなアイデアが得られます。

var some = $('<div class="myadd">');
some.append('<span>hey</span>');

console.log(some.html());
console.log($('.myadd').html());

some.children().attr('id', 'neat');

console.log(some.html());
console.log($('.myadd').html());
于 2013-01-23T11:28:48.617 に答える
2

問題は、divを動的に作成することですが、それをdocument.bodyなどに追加しないことだと思います。したがって、セレクターはDOM内の要素を見つけられません。ただし、動的に作成されたdivをDOMに追加しなくても、直接アクセスできるはずなので、機能するpageContent.children().attr('id', 'test');はずですが、これにより、divのすべての子にIDが割り当てられます。あなたは使用するvar pageContent=$('<div class="addId" id="test">').append(trimmedCont);か、pageContent.get(0).id = "test"

于 2013-01-23T11:26:26.023 に答える
2

getJsonjquery関数を試してみませんか。

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript">

$(document).ready(function()
{
    $.getJSON('x-request.php', function(data) {
        var items = [];
        $.each(data, function(key, val)
        {
            items.push('<li id="' + key + '">' + val.from + ' -> ' + val.to + '</li>');
        });
        $('<ul/>',
        {
            'class': 'my-new-list',
            html: items.join('')
        }).appendTo('body');
    });

});

</script>

json_encodeそして、文字列を取得するためのクエリを記述しますx-request.php

于 2013-01-23T11:22:43.977 に答える