我正在尝试获取点击元素的“id”,但遇到了困难。
这是我在上下文中尝试做的事情。点击#display-p_1
时:
<div id="display-p_1"> <a href='#content_div'> Panel 1</a></div>
我想获取元素的“id”,然后去除“id”的最后一位,将其分配给索引,然后运行函数runIt()
。
$(this).click(function() {
var id = $(this).attr('id'); //this line isn't working
n = id.slice(-1);
runIt();
});
我认为$(this)
并不是指函数中的正确元素。
答案 0 :(得分:1)
如果处理程序中有元素,则可以通过两种方式获取id
:
我通常将此应用于所有div
元素,但您希望通过类或其他内容来执行此操作。
$('div').click(function(){
var fastAccessToID = this.id;
var slowerAccessToID = $(this).attr('id');
});
至于你希望剥掉最后一位数......我想你想得到下划线之后的数字......例如如果id是“display-p_13”,则“13”与“3”相对应?
...因而
$('div.someClass').click(function(){
var divID = this.id;
n = divID.split('_')[1];//this is assigning the string... use parseInt if you want a number
runIt();
});
答案 1 :(得分:0)
$("[id^=display-p_]").on("click", function(){
//stuff
});
这会将click处理程序放在所有id为“display-p _”
的元素上由于我的答案已被选中,我将使用@ scunliffe的split()代码进行编辑,因为它是该部分的更好解决方案。
$("[id^=display-p_]").on("click", function(){
var divID = this.id;
n = divID.split('_')[1];//this is assigning the string... use parseInt if you want a number
runIt(n);//assuming you want to pass in the result
});