我正在尝试检查具有类sourceFocus的对象是否包含数据。但是,当我检查它时,它应该没有数据。我在这里做错了什么?
$('.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();
}
答案 0 :(得分:3)
我认为.hasData()
方法不接受您的案例.sourceFocus
中的选择器,请尝试选择.sourcefocus
作为元素,然后将其传递给.hasData()
函数。< / p>
尝试类似......
console.log($.hasData($('.sourceFocus:first')));
答案 1 :(得分:3)
$ .hasData()检查DOM元素 你必须使用数组表示法或.get()方法从jQuery对象中获取它(不要与$ .get()ajax方法混淆)
console.log($.hasData($('.sourceFocus')[0]));
答案 2 :(得分:2)
如果您尝试在正在使用.sourceFocus类的标记之间读取HTML,请在if语句中执行此操作:
$.hasData($('.sourceFocus').html())