Javascript 在检索元素的类名和id时,我总是未定义
我正在使用此代码调试Javascript 在检索元素的类名和id时,我总是未定义,javascript,jquery,Javascript,Jquery,我正在使用此代码调试 $(document).ready(function() { $('.slider').slider(); }); $.fn.slider = function() { return this.each(function() { var $el = $(this); var dragging = false; var startX = $el.offset().left; var startL = 0; $el.moused
$(document).ready(function() {
$('.slider').slider();
});
$.fn.slider = function() {
return this.each(function() {
var $el = $(this);
var dragging = false;
var startX = $el.offset().left;
var startL = 0;
$el.mousedown(function(ev) {
dragging = true;
startX = ev.clientX;
startL = $(this).css('left');
alert("class: "+ $el.className +" id: " + $el.id);
});
$(document).mousemove(function(ev) {
if (dragging) {
var newLeft = parseInt(startL) + (ev.clientX - startX);
$el.css('left', newLeft );
}
}).mouseup(function() {
dragging = false;
});
});
}
注意:警报(“类:+$el.className+”id:+$el.id);
它总是为$el.className
和$el.id
返回“未定义”
如何让它返回我单击的元素(div)的id和类
我尝试了许多
$el
和.id
的变体,但似乎都不起作用。您混合了jQuery和vanilla javascript属性className
是普通的,并且$(这个)
生成一个jQuery对象
要么改变
$el.className
到
或者如果要使用类名
:
var $el = $(this);
到
(尽管这也需要更改代码的其他部分)尝试以下操作:
$(function() {
$("div").click(function() {
var name = this.name;
var cls = this.className;
var id= this.id;
alert("Name: " + name + " / Class: " + cls + " / Id: " + id);
});
});
就这样,谢谢你!当时间限制结束时,我会批准答案。自从我提出这个问题以来,我已经了解了很多关于JavaScript的知识,我意识到console.log()比使用alert()调试有用得多。
var $el = this;
$(function() {
$("div").click(function() {
var name = this.name;
var cls = this.className;
var id= this.id;
alert("Name: " + name + " / Class: " + cls + " / Id: " + id);
});
});