2016-08-23 5 views
0

これらのJQuery呼び出しから返された同じオブジェクトを取得しようとしています。彼らはどちらもDOMの選択を同じcartList Jqueryオブジェクトで行っていますが、1つはイベントを通してで、もう1つは通常のセレクタからのものです。JQueryイベントを作成する方法。ターゲット選択が一致しています。

var cartWrapper = $('.cd-cart-container'); 
var cartBody = cartWrapper.find('.body')  
var cartList = cartBody.find('ul').eq(0); 

cartList.on('click', '.delete-item', function(event){ 
    obj1 = $(event.target).parents('.product'); 

} 

obj2 = cartList.find('li.parent#seg_bookings_paid\\[1055\\]\\[504\\].product'); 

consle.log出力は

obj1 = [li#seg_bookings_paid[1055][504].product, prevObject: o.fn.init[1], context: i.glyphicon.glyphicon-remove.text-danger] 

obj2 = [prevObject: o.fn.init[1], context: document, selector: "li.parent#seg_bookings_paid[1055][504]"] 

にはどうすればOBJ1と同じオブジェクトを返すようにOBJ2を得るのですか?セレクタで

HTML

<div class="cart"> 
    <div class="wrapper"> 
     <header> 
     <h2>Cart</h2> 
     <span class="undo">Item removed. <a href="#0">Undo</a></span> 
     </header> 

     <div class="body"> 
     <ul><li id="seg_bookings_paid[1055][504]" class="product"><div class="delete-item"><a href="#0"><i class="glyphicon glyphicon-remove text-danger"></i></a></div><div class="product-details">July 13: Far To Go<span class="price">0.00</span></div></li> 
      <!-- products added to the cart will be inserted here using JavaScript --> 
     </ul> 
     </div> 

     <footer> 
     <a href="#0" class="checkout btn"><em>Checkout - $<span>NaN</span></em></a> 
     </footer> 
    </div> 
    </div> 
+0

HTMLを入力してください。私は、コンソールの出力が正しいことを疑う。なぜなら、2番目のセレクタは、セレクタがあなたがコードで提供したもの以外のものだったと言うからだ。 – trincot

+0

私はHTMLを追加しました。問題を分かりやすくするためにphpコードを使用するのではなく、セレクタのハード値を記述していることに注意してください。私は、問題は私のjqueryの構文と正しいオブジェクトを取得すると考え、HTMLは無関係です。編集:私のセレクタエラーも修正されました。 – Phil

答えて

0

[...]属性を一致させるために使用されます。あなたがそれらをエスケープしなければならないIDのこれらのリテラル文字にマッチさせるためにそれを使用したいならば。

obj2 = cartList.find('li.parent#seg_bookings_paid\\[1055\\]\\[504\\].product'); 

あなたのIDには異なる名前付けスキームを使用することをおすすめします。 seg_bookings_paid-1055-504なので、特別な意味を持つ文字は使用しないでください。

+0

ありがとう...私の質問を理解しやすくするために、PHP変数を手書きで追加しました...もっと難しくなったようです。私はあなたのソリューションで編集します。 – Phil

+0

PHPはまだ、バックスラッシュを含むセレクタ文字列を生成しなければなりません。 – Barmar

+0

これは、obj2の出力が、JQueryで一致が見つからない場合に返されるものですか? – Phil

関連する問題