我有这段代码,但似乎有错误。该错误表明 Uncaught typeError object# has no method 'HasScrollBar ' 代码有问题吗? HasScrollbar 方法是在函数顶部声明的,但似乎找不到它,请参阅下面的代码
$.fn.HasScrollBar = function () {
//note: clientHeight= height of holder
//scrollHeight= we have content till this height
var _elm = $(this)[0];
var _hasScrollBar = false;
if ((_elm.clientHeight < _elm.scrollHeight) ||
(_elm.clientWidth < _elm.scrollWidth)) {
_hasScrollBar = true;
}
return _hasScrollBar;
}
function ab() {
var a = $('td');
$.each(a, function (i, data) {
var check = data.HasScrollBar();
if (check == true) {
data.addClass('Overflow');
data.attr('title', data.text());
}
data.attr('title', data.text());
debugger;
});
};
$('.Test').on('click', function () {
ab();
});
最佳答案
$.each()
的第二个参数(在本例中为 data
)是 DOM 元素,而不是 jQuery 对象,因此它没有 jQuery 方法。您需要首先将其包装在 jQuery 元素中:
$.each(a, function (i, data) {
var $data = $( data );
var check = $data.HasScrollBar();
if (check == true) {
$data.addClass('Overflow');
$data.attr('title', $data.text());
}
$data.attr('title', $data.text());
});
关于jquery - jquery 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20237548/