2016-10-14 2 views
1

上記のコードは、リスト項目のIDをjson配列の変数に設定すると想定されています。私の問題は、生成されたリストからIDを選んでローカル変数に格納できるようにすることです。誰も助けることができますか?私はこのような状況に特有のものを求めています。 これは私が使っていたコード:jqueryを使用してliのIDを取得する

$('li').click(function() { 
    var listId = (this).attr('id'); 
    alert($(this).attr('id')); 
}) 
+3

あなたは誤字があります。あなたはid: 'var listId = $(this).attr( 'id');'を得る '$'がありません。また、HTMLが適切に生成されていることを確認してください。あなたは引用符のまわりにいくつかの奇妙な構文があります。 –

+0

@ freedomn-mつまり、文字列リテラルの冗長な追加を意味します。 ''この "+"その "' –

答えて

2

をあなたがタイプミスを持っている:)あなたは(この).ATTR( 'ID'」前に "$" を置くのを忘れ$

<!DOCTYPE html> 
    <html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
    <script> 
    $(document).ready(function(){ 
    $('li').click(function() { 
     var listId = $(this).attr('id'); 
     alert($(this).attr('id')); 
    }) 

    }); 
    </script> 
    </head> 
    <body> 
    <div id='test'></div> 

    <ul style="list-style-type:square"> 
     <li id='id_1'>Coffee</li> 
     <li id='id_2'>Tea</li> 
     <li id='id_3'>Milk</li> 
    </ul> 


    </body> 
    </html> 
0

を逃しました); "

$(this).attr('id'); 
0

変更

(this).attr('id'); 

あなたはあなたが

var listId = (this).attr('id');

を持って (this).attr('id');

$を逃しているようなので、問題が見えます

はここ

var listId = $(this).attr('id');

$('li').click(function() { 
 
    var listId = $(this).attr('id'); 
 
    alert(listId); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul> 
 
    <li id="li1">List Item 1</li> 
 
    <li id="li2">List Item 2</li> 
 
    <li id="li2">List Item 3</li> 
 
<ul>

クリックで行うことの別の方法に変更すべき

(これは私は通常私のクリックで行うために使用するものです)

$(document).on("click", "li", function() { 
 
    var listId = $(this).attr('id'); 
 
    alert(listId); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul> 
 
    <li id="li1">List Item 1</li> 
 
    <li id="li2">List Item 2</li> 
 
    <li id="li2">List Item 3</li> 
 
<ul>

関連する問題