JQuery-Javascript-.hasData()对我不起作用
我试图检查sourceFocus类的对象中是否包含数据。但是,当我检查它时,它并没有应该显示的数据。我做错了什么JQuery-Javascript-.hasData()对我不起作用,javascript,jquery,Javascript,Jquery,我试图检查sourceFocus类的对象中是否包含数据。但是,当我检查它时,它并没有应该显示的数据。我做错了什么 $('.source').click(function() { $('.source').removeClass('sourceFocus'); $(this).addClass('sourceFocus'); $(this).data('source_selected', true); console.log($.hasData(this));
$('.source').click(function() {
$('.source').removeClass('sourceFocus');
$(this).addClass('sourceFocus');
$(this).data('source_selected', true);
console.log($.hasData(this));
console.log(this);
});
$('.target').click(function() {
$('.target').removeClass('targetFocus');
$(this).addClass('targetFocus');
$(this).data('target_used', true);
//$('.sourceFocus').data('source_used', true);
console.log($.hasData('.sourceFocus'));
if($.hasData('.sourceFocus')){
console.log("has data worked");
check_for_duplicates();
}
如果您试图读取使用.sourceFocus类的标记之间的HTML,请在If语句中执行此操作:
$.hasData($('.sourceFocus').html())
我不认为
.hasData()
方法在您的案例中接受选择器.sourceFocus
,请尝试选择.sourceFocus
作为元素,然后将其传递给.hasData()
函数
试试像
console.log($.hasData($('.sourceFocus:first')));
$.hasData()检查DOM元素
您必须使用数组表示法或.get()方法(不要与$.get()ajax方法混淆)将其从jQuery对象中取出
您还可以粘贴HTML吗?您想知道您将sourceFocus类分配到了哪里?您想在使用sourceFocus类的标记之间读取HTML吗?您还可以检查
$obj.data('hello')!==未定义
console.log($.hasData($('.sourceFocus')[0]));