jquery JavaScript运行时错误:无法获取未定义或空引用的属性“split”

lokaqttq  于 2023-01-30  发布在  jQuery
关注(0)|答案(2)|浏览(495)

JavaScript运行时错误:* * 无法获取未定义或空引用的属性"split"**

var split = $(this).prop('name').split('&;');

请推荐我。

piv4azn7

piv4azn71#

  • JavaScript运行时错误:x1月1x日 *

这可能是$(this)的目标元素没有name属性的情况,即使它有,你仍然不能使用.prop()应用.split()方法,因为它返回布尔值true/false而不是属性值。
因为.prop()方法返回一个布尔值true/false而不是该属性的值,所以在这种情况下应该使用.attr()方法:

var split = $(this).attr('name').split('&;');

原因:
简单示例可以是..

<input type="test" value="test" id="test" disabled />

这里你可以看到value,id和disabled,其中value和id可以用来获取它的值,就像value有test,id有test一样。
但是disabled是一个属性,它没有任何赋值。
检查以下测试用例:
一个二个一个一个
在上面的例子中,你可以看到input有一个属性disabled="disabled",但是.prop()并没有给出它的值,它会给出一个布尔值,表示属性disabled在这个元素上是否可用。

noj0wjuj

noj0wjuj2#

属性名为$(this)的对象不存在,拆分前需要检查,如下所示:

if ($(this).prop('name')!=undefined && $(this).prop('name') != null)
  var split = $(this).prop('name').split('&;');

相关问题