2016-04-29 15 views
0

type="button"jqueryで入力する方法.click()は のInternet ExplorerとSafariで動作しますか? Mozilla、Chrome、Operaでうまく動作します。 例、wennボタンがクリックされた隠されたdiv要素を示したさ:Jquery:Internet ExplorerとSafariで.click()関数が機能しない入力タイプ= "ボタン"

<input type="button" value="Comments(<?php echo $commentCounter?>)" data-id="<?php echo $productArray[$key]["ID"].$_SESSION["userSession"];?>" class="CommentsSection"/> 
<div id="<?php echo $productArray[$key]["ID"].$_SESSION["userSession"];?>" style="display:none"> 
<?php 
echo"This is hidden div"; 
?> 
</div> 

JavaScriptを:

<script type="text/javascript"> 
$(document).ready(function(){ 

$(".CommentsSection").click(function(){ 
    var sectionID=$(this).attr('data-id'); 
$("#"+sectionID).show(); 
}); 
}); 
</script> 
+0

PHPコードの代わりに生成されたHTMLを貼り付けることができますか? – Flunch

答えて

0

ほとんどの場合、あなたのJSがロードされ、あなたのHTMLがレンダリングされる前に実行されます。 あなたは(あなたのonclickの括弧を閉じ)documentReadyイベントであなたのJSを囲むことができます:

$(document).ready(function() { 
    $(".CommentsSection").click(function(ev){ 
     ev.preventDefault(); 

     var sectionID=$(this).data('id'); 
     $("#"+sectionID).show(); 
    }); 
}); 

私の追加

は次のとおりです:

使用data() jQueryの

$(document).ready(function() { 
    $(".CommentsSection").click(function(){ 
     var sectionID=$(this).attr('data-id'); 
     $("#"+sectionID).show(); 
    }); 
}); 
0

これはあなたの目的に合わせなければなりません代わりに関数

文書の準備が完了するまで待つ

デフォルトの動作を防止します

+0

'attr()'の代わりに 'data()'を使うと、すべてのブラウザで動作しません。 'ます。 ' – Darius92

関連する問題