2014-10-22 36 views
-4

我怎樣才能得到列表項的id onclick錨。我想通過JavaScript警報顯示列表項的id。下面是我的源:我怎樣才能得到id的onclick兒童

+0

'this.parentNode.id;如果你打電話'將工作'myClickFunction'正常,即'myClickFunction.call(這一點)'。 – 2014-10-22 06:44:46

+0

@FelixKling是否需要'.call(this)'?從我所知'this'已經是clicked元素。 – 2014-10-22 06:46:02

+0

@IonicăBizău:在OP的情況下,'this'將是'window'。只有在事件處理程序中'this'纔會引用該元素。但是,'myClickFunction'不是事件處理程序,它是從事件處理程序調用的。 – 2014-10-22 06:47:03

回答

0

由於您使用,使用parent()attr()功能:

function myClickFunction(){ 
    var id = $(this).parent().attr("id"); 
}; 
0

您可以使用.parent().attr()[0].id如下:

$('.child').on('click', function() { 
    var id = $(this).parent()[0].id; //or $(this).parent().attr('id'); 
}); 

你最好不要不使用內聯JS

$(function() { 
 
    $('ul a').on('click', function() { 
 
     var id = $(this).parent()[0].id; //or $(this).parent().attr('id'); 
 
     alert(id); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<ul> 
 
<li id="li1"><a>Click1</a></li> 
 
<li id="li2"><a>Click2</a></li> 
 
<li id="li3"><a>Click3</a></li> 
 
</ul>

0

使用一些像這樣的事情..

<script> 
function myClickFunction(a){ 
var id = a.parentNode.id; 
alert("I just clicked list item: " + id); 
}; 
</script> 
</head> 
<body> 
<ul> 
<li id=li1"><a onClick="myClickFunction(this);">Click1</a></li> 
<li id=li2"><a onClick="myClickFunction(this);">Click2</a></li> 
<li id=li3"><a onClick="myClickFunction(this);">Click3</a></li> 
</ul> 
</body> 
</html> 
+0

爲什麼OP應該這樣做?他們似乎是初學者,所以我認爲他們會喜歡一些解釋。 – 2014-10-22 06:48:24

+0

其實我已經看到你的解釋@FelixKling所以我認爲如果我提供一些示例代碼以便他們看看會更好 – Choco 2014-10-22 06:50:05