方法jquery.data()有时候没有被捕获的typeError

时间:2018-03-23 02:19:27

标签: javascript jquery

在此功能中:

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

我有这个错误:

  

“未捕获的TypeError:无法读取属性'$ a'of null”   dataObject = $el.data('elementId');

当我评论该行

if(!el) return; 

错误变为

  

“未捕获的TypeError:无法读取属性'_a'的null”

我正在使用jQuery 3.2.1

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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>

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

Spark Streaming -- foreachRDD

如果将all设置为小写,则返回数据值。