从
selectNull('AgentIdI333');selectNull('GameId333');
if(this.value)
selectChange(jsonUrl.myAgent+this.value,'AgentIdI333','','AGENTID','AGENTNAME')
中提取出
["AgentIdI333","GameId333"]
/selectNull\(\'([\w-]+)\'\)/ig
<select name="AgentIdP" id="AgentIdP333" class="customTAB"
onchange="selectNull('AgentIdI333');selectNull('GameId333');if(this.value) selectChange(jsonUrl.myAgent+this.value,'AgentIdI333','','AGENTID','AGENTNAME')">
</select>
<script type="text/javascript">
var html = document.getElementById('AgentIdP333').getAttribute('onchange');
// var m = html.match(/selectNull\(["\']{1}([\w]+)[\'"]{1}\)/ig);
var m = html.match(/selectNull\(\'([\w-]+)\'\)/ig);
//["selectNull('AgentIdI333')", "selectNull('GameId333')"]
console.log(m);
</script>
现在可以了,原来javascript中要用while循环才可以得到所有的。
http://jsfiddle.net/BzFE9/
如何用正则提取,@公子已经给出了不错的答案,但是我对楼主这么做有些不同意见。
看楼主的代码中
AgentIdP333
和GameId333
是两个比较重要的属性,或者说333
是比较重要的值。一方面,这个属性的值写死在代码里暂且不论,还要从
onchange
函数中提取简直太多此一举了。不如使用data属性:
你用jquery的话拿数据更简单: