2
<html lang="en">
  <head>
    <meta charset="utf-8">
    <script type='text/javascript' src="js/jquery/jquery-min.js"></script>
    <script type='text/javascript' src="js/pure/pure.js"></script>
  </head>
  <body>
    <div class='result'>Test Page</div>

    <script type='text/javascript'>
      $(document).ready(function(){
        var p;
        p = $("<div><ul><li></li></ul></div>");
        directives = {"li": "error"};
        data = {"error": "name must be between 3 and 250 characters long"};
        p.render(data, directives);
        $(".result").after(p);
        });
    </script>
  </body>
</html>

上記のコードはpオブジェクトにデータを挿入しませんが、以下は機能しますが、

<html lang="en">
  <head>
    <meta charset="utf-8">
    <script type='text/javascript' src="js/jquery/jquery-min.js"></script>
    <script type='text/javascript' src="js/pure/pure.js"></script>
  </head>
  <body>
    <div class='result'>Test Page</div>

    <script type='text/javascript'>
      $(document).ready(function(){
        var p;
        p = $("<div><ul><li></li></ul></div>");
        $(".result").after(p);
        directives = {"li": "error"};
        data = {"error": "name must be between 3 and 250 characters long"};
        p.render(data, directives);
        });
    </script>
  </body>
</html>

データを挿入しているようですが、jqueryオブジェクト(ここではp)は既存のhtmlタグを操作する必要がありますか?後者のように合理的ではありません。最初のコードにデータを挿入したいのですが、どうすればよいでしょうか。ありがとう、 :)

4

1 に答える 1

1

render常にノードを返します。また、テンプレートがDOMにある場合は、レンダリングされたノードに置き換えられます。

あなたはこれを行うことができます:

p = p.render(data, directives);
$(".result").after(p);

また

$(".result").after( p.render(data, directives) );
于 2012-05-16T06:59:14.153 に答える