2016-12-30 5 views
0

私は、ユーザーが質問して他の人に返信できるWebサイトを作成しました。質問はdivに含まれており、divと、CSSプロパティがdisplay: noneの別のものが含まれています。イベントを発生させた要素に関連する特定のdivにアクセスする方法は?

私は母の中にdivというボタンをつけています。返信フォームやコメントフォームを含むdivが開きます。

私の唯一の問題は、コメントボタンをクリックするたびに、ユーザーがクリックしなかった質問でも、他のすべての返信セクションdivが開かれることです。

ユーザーが返信ボタンをクリックした特定のdivを取得して、そのマザーdivの返信フォームのみを開くことができます。

+0

を明らかにする。残念ながらあなたの実際のHTMLコードやJSのサンプルは表示されていないので、誰も実際にあなたにこれを表示する方法はあなたには分かりません –

+0

私はphp配列を使ってデータベースから情報を得たテンプレートを持っています。私はhtml本文にこれを含めて、データベースからすべての質問をエコーし​​ます。私の質問は、特定の母親のdivを得る方法を空間的にどういう意味ですか? – user6284379

+0

その場合、誰かがあなたに与えることができる唯一の答えは、私の最初のコメントにDOMトラバーサルを使うことでした。 –

答えて

0

のjQuery:

$(".button").click(function(){ 
    //here the button element is pointed by -this-!!! 
    //so "this" is the element contained in your div... 
    $(this).parent("questionDiv") //<- will point to the div that contain the button 
    //so, having the button (this), you can get the parent element that contain the question and in it the mother div 
}); 

.parent()は、また、これは私があなたの質問:)私はいくつかのことを仮定するつもりです

から理解を明確.closest().siblings()

希望を確認します...

DOM:お客様のHTMLコード

<div class="mother"> 
    <div class="question"> 
     <button class="respBtn">Respond</button> 
    </div> 
    <div class="respond"> ..more elemnts.. </div> 
</div> 

jqueryの:

$(document).ready(function(){ 
     $(".respBtn").click(function(){ 
      console.log("click"); 
      //here goes the code that shows the div 
      let moderDiv = $(this).parents(".mother"); 
      console.log(moderDiv.html()); 
      moderDiv.find("div.respond").each(function(){ 
       $(this).show(); 
      }); 
     }); 
    }); 

CSS:

.respond{ 
     display : none ; 
    } 

これは一例です... jqueryのは、DOMの右側の部分を指すようにANSを押されたボタンを知ることの世話をします。

希望これは私のアイデア:)あなたは関連する要素を見つけるために、jQueryのDOMのトラバーサルメソッドを使用する必要が

+0

ありがとう。しかし、私の質問divは、ループからエコーされているので、すべてが同じであれば同じです。したがって、ループが終了するまで、テンプレートは何度も何度も繰り返されます。これは、すべての母divと質問divが同じidを持っていることを意味しています...助けてください – user6284379

+0

idは定義上一意でなければなりません、PHPスクリプトで 'class'を使って' id'を変更するechoループを変更できます。私はDOMの構造を見ることができるようにループコードを共有することもできます... –

+0

$ questions = get_questions(); – user6284379

関連する問題