Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery-Javascript-.hasData()对我不起作用_Javascript_Jquery - Fatal编程技术网

JQuery-Javascript-.hasData()对我不起作用

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));

我试图检查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();
}

如果您试图读取使用.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]));