我又一次继承了别人的系统,这有点混乱。我目前正在使用一个旧的ASP.NET (VB) webforms应用程序,它通过服务器将JavaScript吐到客户端-这可不好用!关于应用程序,我可以编辑的内容也受到限制。
我有一个场景,其中我有一个函数,它做了一个简单的练习,但也需要知道单击了什么项来执行该函数,因为该函数可以从系统中的许多位置执行……
假设我有一个像这样的函数。
function updateMyDiv() {
$('#div1').hide();
$('#div2').hide();
$('#div13').show();
}例如,我如何获取被单击以执行此操作的HTML元素的ID?
类似于:
function updateMyDiv() {
alert(htmlelement.id) // need to raise the ID of what was clicked,
$('#div1').hide();
$('#div2').hide();
$('#div13').show();
}如果有必要,我可以对此进行扩展,我需要通过this作为论据吗?
发布于 2011-10-27 21:50:01
将单击事件与jQuery绑定,然后引用$(this)
$('.myDivClass').live('click', function () {
updateMyDiv(this);
});
var updateMyDiv = function (that) {
alert(that.id);
// save the world
};发布于 2011-10-27 21:49:22
this关键字引用触发事件的元素。以下任一项:
<element onClick="doSomething(this);">或
element.onclick = function() {
alert(this.id);
}发布于 2011-10-27 21:50:19
你不需要传递"this",它是自动分配的。你可以这样做:
$('div').click(function(){
alert($(this).attr('id'));
})https://stackoverflow.com/questions/7916816
复制相似问题