方法 jquery.data() 有时未捕获的类型错误



在此函数中:

function myFunction (el) {
  if(!el) return;
  //input <el> is DOM
  var $el = $(el),
      dataObject = $el.data('elementId');
  //code here
}

我有这个错误:

"未捕获的类型错误: 无法读取 null 的属性'$a'"行 dataObject = $el.data('elementId');

当我评论这行时

if(!el) return; 

错误变为

"未捕获的类型错误: 无法读取 null 的属性'_a' ">

我正在使用jQuery 3.2.1

我该如何解决这个问题?

function a(el) {
  if(!el) return;
  //input <el> is DOM
  var $el = $(el),
      dataObject = $el.data('elementid');
  //code here
  console.log(dataObject);
  console.log($el.attr('data-elementid'));
}
a(document.getElementById('two'));
a();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="two" data-elementid="a">2</div>

尝试使用属性而不是数据?但通过这个答案:

如果将"全部"设置为小写,它将返回数据值。

相关内容

最新更新