我用Google搜索并用Google搜索,我得出的结论是,我自己很难得到答案。
我正在尝试使用jquery或JavaScript来获取clicked元素的属性。我可以使用“this.hash”作为例子 - 它返回我认为的哈希值。
现在我想获得clicked元素类的名称。 它甚至可能吗?怎么样?我会在哪里找到这种信息?
jQuery文档? - 所有我能找到的方法和插件,没有属性..如果它在那里 - 请提供链接。
JavaScript文档? - 还有一个全面的吗?再请一个链接。
DOM文档? - W3C或其中的链接(链接赞赏)。
什么是this.hash
? - DOM JavaScript或jQuery?
答案 0 :(得分:11)
此示例适用于页面中的每个元素。我建议使用console.log(event)
并使用Firebug / Developer工具调整它转储到控制台的内容。
$(window).click(function(e) {
console.log(e); // then e.srcElement.className has the class
});
window.onclick = function(e) {
console.log(e); // then e.srcElement.className has the class
}
修改强>
为了澄清,您不必为e.srcElement.className
登录控制台以获得该课程,希望这不会让任何人感到困惑。它意味着在函数中显示将具有类名。
答案 1 :(得分:10)
在jQuery中,如果您将click
事件附加到所有<div>
标记(例如),您可以像这样获取它的类:
示例: http://jsfiddle.net/wpNST/
$('div').click(function() {
var theClass = this.className; // "this" is the element clicked
alert( theClass );
});
这使用jQuery's .click(fn)
method来分配处理程序,但直接从单击的DOM元素访问className
属性,该元素由this
表示。
还有jQuery方法可以做到这一点,like .attr()
。
示例: http://jsfiddle.net/wpNST/1/
$('div').click(function() {
var theClass = $(this).attr('class');
alert( theClass );
});
这里我用一个jQuery对象包装DOM元素,以便它可以使用jQuery提供的方法。 The .attr()
method此处获取已设置的类。
答案 2 :(得分:7)
$(document).click(function(e){
var clickElement = e.target; // get the dom element clicked.
var elementClassName = e.target.className; // get the classname of the element clicked
});
这支持点击页面的任何位置。如果您单击的元素没有类名,则返回null或空字符串。
答案 3 :(得分:2)
$('#ele').click(function() {
alert($(this).attr('class'));
});
以下是所有属性函数。
答案 4 :(得分:2)
你可以使用element.className.split(/ \ s + /);为了得到一个类名数组,记住元素可以有多个类。
然后你可以迭代所有这些并找到你想要的那个。
window.onclick = function(e) {
var classList = e.srcElement.className.split(/\s+/);
for (i = 0; i < classList.length; i++) {
if (classList[i] === 'someClass') {
//do something
}
}
}
jQuery在这里并没有真正帮助你,但如果你必须
$(document).click(function(){
var classList =$(this).attr('class').split(/\s+/);
$.each( classList, function(index, item){
if (item==='someClass') {
//do something
}
});
});
答案 5 :(得分:0)