2016-09-16 8 views
0

私はASP.netを初めて使い、以下の質問で数日ぐらいグーグルで遊んでいましたが、まだこの問題を解決していません。client.netを使用したASP.net親子トラバーサル

背景

私はjQueryのを使用して取得IDの要素のタグを追加するために、子供のクライアントIDを使用して親IDを取得したいと思います。しかし、私は下のコードのための未定義の値を取得しているとまだそれを解決できませんでした。親の属性IDを取得するためにコードを編集する方法についてアドバイスできる専門家がいますか?ありがとう。

var clientID = <%= btnRemoveFromCart.ClientID %> ; 
    var parentID =$("#clientID").parent().attr('id'); 
    var imageID = $('#parentID').children(".single-products").children('.productinfo text-center').children('.image').attr('id'); 
    var wordID = $('#parentID').children(".single-products").children('.productinfo text-center').children('.word').attr('id'); 
    var logoID = $('#parentID').children(".single-products").children('.productinfo text-center').children('.h2').children('.logo').attr('id'); 

HTML

<div class="fashion-grid1">                        
    <asp:ListView runat="server" ID="lsvDataSet" DataSource='<%# Eval("Value") %>' OnItemCommand="lsvDataSet_ItemCommand"> 
     <ItemTemplate> 
      <div class="col-lg-2 col-md-3 col-sm-4 col-xs-4 product-image-wrapper padding-bottom" style="padding-right: 0px; padding-left: 25px;"> 
      <div class="single-products"> 
       <div class="productinfo text-center"> 
        <img src='<%# Eval("ImagePath") %>' alt="" class="image" /> 
        <h2 class="h2"><span class="logo"><%# Eval("Tag") %></span></h2> 
        <div class="word"><%# Eval("Name") %></div> 
       </div> 

だけに追加する、それはまた、私がために、クライアントのID要素タグを呼び出すために、このような.VALUEや.textセクションとして使用することができますどのような方法について助言することが可能ですJQueryを使ってHTMLに追加するには?ここに本当に感謝しています。

+0

は、私はあなたがこれを自分で解決している知っているが、あなたが提供したHTMLコードは、あなたのjavacriptの重要な要素であると思われる行方不明 'btnRemoveFromCart'、です。閉じた 'ItemTemplate'タグがないという点であなたのコードも不完全です。どのようにあなたと仕事をするのが難しいのですか?**関連する**構造を完全には提供していません。 –

+0

フィードバックのためにJonに感謝します。あなたの助けに大変感謝します。将来的にはそれを念頭に置くでしょう。 – Hero1134

答えて

0

わかりました。私は兄弟とeqを使って問題を解決しました。私のコードは以下の通りです。

var imageID = $(<%= btnRemoveFromCart.ClientID %>).parent().parent().parent().parent().siblings().children().children().attr('class'); 
var logoID = $(<%= btnRemoveFromCart.ClientID %>).parent().parent().parent().parent().siblings().children().children().eq(1).children().attr('class'); 
var wordID = $(<%= btnRemoveFromCart.ClientID %>).parent().parent().parent().parent().siblings().children().children().eq(2).attr('class'); 
+1

これはうまくいくかもしれませんが、将来は非常に壊れやすいでしょう。 [Closest](https://api.jquery.com/closest/)、[Parents](https://api.jquery.com/parents/)を参照してDOMを検索し、[Find](https ://api.jquery.com/find/)、DOMを「下に」検索する –

+0

ありがとうございました。注目される。 – Hero1134

1

はあなたの最も外側のdivタグにIDを与え、これを試してみてください。

parentID = $(".single-products").parent().attr('id'); 
+0

こんにちは、私はこの最後の夜を試しました。うまくいきません。 – Hero1134

+0

clientIDに値はありますか?もしそうなら、そのidを持つ子要素があることを確認する必要があります。 –

+0

はい。 clientIDには値があります。 – Hero1134

関連する問題