0

以下の文字列で data-action を解析したいと思います。その中のデータを取得することができましたが、「アクション」= togglestate および「params」= 括弧内のすべてになるように解析したいと考えています。私は正規表現が得意ではありませんが、現在これを無駄に使用しています:(このコードは実行関数にあります)

var regex = /(.*)(\((.*)\))?/gi;
var list = elem.dataset.action.match(regex);
var action = list[1];
var params = list.splice(0,2).join();

HTML:

<div data-action='toggleState(test)' onClick='execaction(this);' id='testelem'>div running execaction on click with action parameter</div>

4

1 に答える 1

1
var action = elem.dataset.action.match(/.*\(/)[0];
if (action != null) action = action.substring(0, action.length - 1);  //remove '('
var params = elem.dataset.action.match(/\(.*/)[0];
if (params != null) {
  params = params.substring(1, params.length -1);  //remove '(' and ')'
  params = params.split(','); //split parameter names
}
于 2012-06-28T07:01:59.407 に答える