2016-04-29 11 views
0

私は、うまく動作するファイルからdomをレンダリングしています。 次に、on clickイベントを使用してdomをjQueryで操作します。csQuery操作されたdomから要素を選択しますか?

私の質問は どのようにして後ろのコードから操作された要素を取得できますか?

$(document).ready(function() { 
 
    var x = $(".class"); 
 

 
    x.on("click", function() { 
 
    $(this).addClass("editable"); 
 
    }); 
 
});
public static string filePath = HttpContext.Current.Request.PhysicalApplicationPath; 
 
public static string file = filePath + "/templates/index.html"; 
 
public CQ dom = CQ.CreateFromFile(file); 
 

 
protected void Page_Load(object sender, EventArgs e) 
 
{ 
 
    var html = dom.Render(); 
 
    if (!IsPostBack) 
 
    { 
 
     Response.Write(html); 
 
    } 
 
} 
 

 
protected void btnSave_OnClick(object sender, EventArgs e) 
 
{ 
 
    var editable = dom.Select(".simplecms.editable").Text(); 
 
// Obviously this string will contain the value from the original dom, how can I retrieve the manipulated dom here? 
 
}

答えて

0

コードは、ブラウザでのライブになると、それはもはや(必ずしも)ファイル内の構造を反映しません。ブラウザは、jQueryから何かを操作する前であっても、正規化目的でDOMモデルに余分なタグを追加することがあります。このため、ファイルシステムからファイルを取得することは期待できません。

この時点で、「実行時に自分のウェブページから自分のサーバーにデータを(どのような種類のものでも)取得するにはどうすればよいですか?あなたのサーバにRESTインタフェースを実装し、AJAXを使って必要なデータをサーバに送信することです。 jQueryはa great AJAX interfaceで、$(body).html()$('.some#selector').html()などの文字列表現を簡単にサーバーに送信することができます。面倒なことは、サーバーの設定によっては、RESTインターフェイスを設定している可能性がありますが、これはこの質問の対象外です。 RESTエンドポイントから文字列を受け取ったら、CQ.Create(htmlString)を使用してCsQueryのDOMを生成できるはずです。

+0

あなたの返信をありがとう - 私が望んでいた答えではありません。私は問題を解決する簡単な方法があると確信しています:)私は調査を続けます。 – MartinDK81

関連する問題