当没有字符要分割时,Javascript拆分将不起作用
Javascript Split wont work when there are no characters to split
HTML
<div id="code1" data-code="123;12"></div>
<div id="code2" data-code="231"></div>
Jquery Javascript/alert($("#code1").data("code").split(";")[0]);
alert($("#code2").data("code").split(";")[0]);
alert('test');
由于code2没有";",因此代码全部停止工作。最后一个警报不起作用,不可分割代码之后的任何代码也不起作用。如何通过";"分割代码,即使它可能没有";"字符?
data()
将数值类型转换为number
试题:
$("#code2").data("code").toString().split(';')
关于类型转换的更多信息,请参见data() docs的html 5属性部分
使用如下:
alert($("#code1").attr("data-code").split(";")[0]);
alert($("#code2").attr("data-code").split(";")[0]);
alert('test');
第二行失败的原因是当使用$.data
时,该值被jQuery隐式地类型转换为number
。它与String.prototype.split
的实现无关,因为如果分隔符不存在,则返回第0个元素为完整字符串的数组。
为了解决这个问题,使用$.attr
代替$.data
,以确保jQuery不会在内部将值类型转换为另一种类型,如果它看起来像另一种类型。
相关文章:
- 使用 JavaScript 拆分名字和姓氏
- 如果条件将长 JavaScript 拆分为多行是否安全
- Javascript:拆分字符串,但仅使用 1 个结果
- Javascript拆分差异
- Javascript拆分整数并添加小数点
- Ant中Javascript拆分的奇怪结果
- 使用jQuery或Javascript拆分URL
- javascript拆分URL超链接
- Javascript拆分字符串
- 将通配符与javascript拆分函数结合使用
- Javascript 拆分删除 “:” 冒号字符
- JavaScript 拆分正则表达式保留分隔符
- 我的 JavaScript 拆分函数不起作用
- 使用 require.js 将应用程序的 javascript 拆分为多个 JS 文件
- 协助调试这个简单的javascript拆分函数
- 使用 javascript 拆分时忽略正则表达式捕获组
- JavaScript 拆分字符串 选定的文本删除
- HTML,Javascript - 拆分比iFrame宽的单词,而不是生成滚动条
- 使用 jquery 或 javascript 拆分带有不同分隔符的字符串
- JavaScript 拆分函数不起作用