如何将元素数组转换为字符串并使用javascript解析它们?
现在我有了一个元素数组。我想将它们转换成字符串数组,并在onclick之后解析出信息。所以我想我有两个问题,第一个是如何将它们转换成字符串,第二个是如何使用正则表达式来解析它们?我可以自己编写正则表达式,但我想知道如何将其应用于javascript中的字符串 首先,我这样做:如何将元素数组转换为字符串并使用javascript解析它们?,javascript,parsing,Javascript,Parsing,现在我有了一个元素数组。我想将它们转换成字符串数组,并在onclick之后解析出信息。所以我想我有两个问题,第一个是如何将它们转换成字符串,第二个是如何使用正则表达式来解析它们?我可以自己编写正则表达式,但我想知道如何将其应用于javascript中的字符串 首先,我这样做: var array = $('a[onclick*="findCustomer"]'); 现在,我有一份清单: <a href="javascript:void(0);" onclick="findCust
var array = $('a[onclick*="findCustomer"]');
现在,我有一份清单:
<a href="javascript:void(0);" onclick="findCustomer('James Smith',808-371- 4984,"Hawaii")">James Smith</a>
所以我的问题是如何将其转换为字符串数组,以及如何从中解析出客户的姓名、电话号码和状态
所以我的问题是如何将其转换为字符串数组,以及如何从中解析出客户的姓名、电话号码和状态
首先获取所有onclick属性(因为您似乎想要使用jQuery,这可以通过使用来完成)
然后解析属性,例如使用
尝试使用RegExp作为解析x/HTML是一个非常糟糕的主意。我展示的方法应该可以,因为您知道onclick属性的结构。
然而,一个更好的解决方案是,通过其他一些根本不涉及解析HTML的方法来访问这些数据。解析什么信息?这些元素是否构成字段,您需要这些值?带元素数据的div?需要更多详细信息,示例HTML会很有帮助。请阅读为什么不使用regex解析x/HTML
808-371-4984
不是用引号括起来的,hawai
是用双引号括起来的,所以反斜杠或简单的引号。@BaliBalo反斜杠不是HTML中的转义字符(在JavaScript中)您必须将“
编码为”
或&&34;
并将'
编码为&&39;
(为了安全)。是的,我的错。
var array = $.map($('a[onclick*="findCustomer"]'), function (elm) {
return elm.getAttribute('onclick');
}); // `array` is now an array of the _onclick_ attributes
$.each(array, function (key, val) {
var parts = val.slice(val.indexOf('(')+1, val.lastIndexOf(')')).split(',');
// parts[0] is name, parts[1] is number, parts[2] is state
// you'll need to trim quotes
});