0

jsを使用していくつかのphp内にネストされたdivをターゲットにしようとしていますが、何をしても、ターゲットにできないようです。参照用のコードは次のとおりです。php:

echo "<li>"."<div id=\"countryclick\">". "<a href=\"?Continent=$Continent&Country=$Country\">" . $Country . " ". "</a>" . "</div>"."</li>";

js:

$("#countryclick").click(function(){
    $("#country").hide();
    $("#city").show();
});

何か案は?前もって感謝します!

4

4 に答える 4

2
div#countryclick 

はオンザフライで作成されるため、jQueryの.liveを使用できます。好き:

$("#countryclick").live("click",function(){
   //code here
})
于 2012-05-29T05:30:22.617 に答える
0
<li>
    <div id="countryclick">
      <a href="?Continent=<?php echo $Continent; ?>&Country=<?php echo $Country; ?>">
        LINK HERE
      </a>
    </div>
</li>
<div id="country">country</div>
<div id="city">city</div>

$("div#countryclick").live("click",function(){
    $("#country").hide();
    $("#city").show();
});

これは機能しているはずです。

于 2012-05-29T05:36:20.430 に答える
0

divを動的に作成しているかどうかはわかりません。動的に作成する場合は、次のようにライブメソッドを使用する必要があります。

$("#countryclick").live("click",function(){
    $("#country").hide();
    $("#city").show();
});

チェックアウトしてください。

于 2012-05-29T05:26:24.987 に答える
0

jQuery 1.7以降、.live()メソッドは非推奨になりました。.on()を使用して、イベントハンドラーをアタッチします。古いバージョンのjQueryを使用している場合は、.live()ではなく.delegate()を使用する必要があります。

ここlive()ここon()にアクセスしてください

于 2012-05-29T06:05:07.730 に答える