One Two </div> 私はこのjqueryを使用しています <script> $(document).ready(function(){ $('.heading ul li').click(function(){ var type1 = $('#one').val(); var type2 = $('#two').val(); "> One Two </div> 私はこのjqueryを使用しています <script> $(document).ready(function(){ $('.heading ul li').click(function(){ var type1 = $('#one').val(); var type2 = $('#two').val(); "> One Two </div> 私はこのjqueryを使用しています <script> $(document).ready(function(){ $('.heading ul li').click(function(){ var type1 = $('#one').val(); var type2 = $('#two').val(); " />

<ul> <li>で値を取得するときのエラー

<div class="heading">
  • One
  • Two
</div>

私はこのjqueryを使用しています

<script>
$(document).ready(function(){
    $('.heading ul li').click(function(){
        var type1 = $('#one').val();
        var type2 = $('#two').val();
        if(type1) {
            alert("1");
        } else {
            alert("2");
        }
    });    
});
</script>

=> Error when click on One or Two, result is 2, too , how to fix it ?

0
「1」または「2」のいずれかを取得するには、text()が必要な場合があります。
追加された 著者 Hoque,

3 答え

if(type1)とはどういう意味ですか?私は、liの値が1であるかどうかをチェックし、if文を入力したいと思うと思いますか?そうすれば、

  $('.heading ul li').click(function(){
    var type1 = $('#one').html();
    var type2 = $('#two').html();
    if($(this).val() == type1) {
        alert("1");
    } else {
        alert("2");
    }
});   

希望このヘルプ:)

(valからhtmlに編集)

2
追加された
リスト項目で val を呼び出すことはできません...
追加された 著者 mrtsherman,
.val()メソッドは、主にinput、select、textareaなどのフォーム要素の値を取得するために使用されます。 api .jquery.com/val
追加された 著者 Hoque,

.val()を呼び出すと、文字列が返されます。 0 以外の文字列は、ifステートメントで true として返されます。しかし、より多くの問題があります。 val は入力値を返します。リスト項目は値プロパティを持たないので、これは機能しません。代わりにhtmlを取得することをお勧めします。

$('li').click( function() {
  var type1 = $('#one').html();
  var type2 = $('#two').html();

  if (type1 == 'One') { ... }
  else { ... }
});
0
追加された

jQuery 1.4以降、.text()メソッドはテキストノードとCDATAノードの値と要素ノードの値を返します。

here is the link for jQuery text() http://api.jquery.com/text/

試す

<script> $(document).ready(function(){     
    $('.heading ul li').click(function(){         
    var type1 = $('#one').text();         
    var type2 = $('#two').text();         
    if(type1 =="One") {             
       alert("1");         
    } else {
       alert("2");        
    }     
    });     
    }); 
</script> 
0
追加された
なぜ世界で質問に正しく答える人がダウンボートを取得し、それに間違って答える人がアップボートを取得するのですか?とにかく、私の+1。
追加された 著者 mrtsherman,
@steveax - あなたはOPがクリックハンドラでそれを必要としないとどのように仮定できますか?あなたは仮定に基づいてダウンボートしてはいけません。 Hoqueの答えは、彼が正しくOPのコードを特定して固定した点で正しい。 OPが(この場合議論の余地がある)コード選択肢を貧弱にした場合、Hoqueのせいではない。
追加された 著者 mrtsherman,
私のdownvoteは、それを微妙に議論しましたが、クリックした項目に対してテストしたいのでなければ、そのテストをクリックハンドラに入れる理由はありません。質問を読んで、本当に if($(this).text()=== type1)... をテストしたいと思うようです。
追加された 著者 steveax,
撮影ポイント。ダウンボートを削除しようとしましたが、答えが編集されない限り、現在ロックされています。
追加された 著者 steveax,
@mrtsherman:投票したことを気付かなかった。 upvoteのために本当にありがとう。
追加された 著者 Hoque,
@steveax:downvotingについての説明をありがとうが、downvoting.Thereの背後に理由を疑問に思ってdownvotingのためのいくつかのポリシーがあります。
追加された 著者 Hoque,