2016-10-14 5 views
1

위의 코드는 목록 항목의 ID를 json 배열의 변수로 설정해야합니다. 내 문제는 생성 된 목록에서 ID를 선택하여 로컬 변수에 저장할 수 있기를 원합니다. 누구든지 도와 줄 수 있습니까? 나는이 상황에 특정한 것을 원한다. 이것은 내가 사용하던 코드입니다 :jquery를 사용하여 li의 ID 가져 오기

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

오타가 있습니다. 'var listId = $ (this) .attr ('id ');'라는 ID가있는 곳에'$ '가 없습니다. 또한 HTML이 제대로 생성되는지 확인하십시오. 따옴표 주위에 이상한 구문이 있습니다. –

+0

@ freedomn-m 더 많은 문자열 리터럴을 추가하는 것을 의미했습니다. ''이 "+"그 "' –

답변

2

당신은 오타 : 당신은 전에 "$"를 넣어 잊었 $

<!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

은 "(이) .attr ('아이디'를 놓친); " 당신이 (this).attr('id');

전에 $ 누락있는 것처럼

변화

(this).attr('id'); 

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

에 따라서 문제는 당신이

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

,369이 보인다

여기

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>

관련 문제