我想获取包装元素的ID onclick。像这样的东西
<p id="wrapper"> Hello <span id="one"> how </span> are <span id="two">you</span></p>
所以这是要求:
点击how
我想获取包装span
&amp;的ID这是one
,当点击are
时,它应显示包裹<p>
ID,依此类推you
。
我正在使用jquery这个&amp;我和.prop
,.wrap
一起玩,但每次我都会获得外<p>
元素的ID。
所以请建议我该怎么做?
如果是重复的,请提供链接。
谢谢
答案 0 :(得分:3)
答案 1 :(得分:1)
这是非常简单的jQuery。
$('span').click(function() {
console.log($(this).attr('id'));
});
这是一个小提琴:http://jsfiddle.net/zjysy/
答案 2 :(得分:1)
您可以轻松地将监听器附加到跨度:
var forEach = Function.call.bind([].forEach);
spans=document.querySelectorAll("p span");
forEach(spans, function(span){
span.addEventListener("click", function(e){
alert(e.target.id);
});
});
答案 3 :(得分:0)
这样做你想要的:
$('#wrapper').click(function(e) {
alert($(e.target).closest('[id]').prop('id'));
});
更新:点击此处:http://jsfiddle.net/zjysy/2/
答案 4 :(得分:0)
试试这个:http://jsfiddle.net/justincook/E6NFG/
$('p, span').on('click', function(){
console.log($(this).attr('id'));
return false;
});
答案 5 :(得分:0)
$(document).click(function(e){
alert(e.target.id);
});
答案 6 :(得分:0)
$(document).ready(function(){
$('span, p').click(function(){
alert($(this).attr('id'));
return false;
});
});