我希望在最后一个下划线之后有效地获取所有内容,或者包括“chk”之后的所有内容
示例是
GridView1__ctl2_chkOut --> I want ONLY chkOut
或者
GridView1__ctl2_chkYes2 --> I want ONLY chkYes2
或者
GridView1__ctl2_chkNo2 --> I want ONLY chkNo2
我将永远知道ID,例如GridView1__ctl45_chkNo2
我知道子字符串可能不是处理它的最好方法,除非它与其他计算字符的东西一起使用直到找到最后一个下划线或者它可能找到了“chk”部分等等。不确定 var res = str.substring(1,4);
HTML
<td>
<input id="GridView1__ctl2_chkOut" type="checkbox" name="GridView1:_ctl2:chkOut" checked="checked" class="out">
</td>
<td>
<input id="GridView1__ctl2_chkYes2" type="checkbox" name="GridView1:_ctl2:chkYes2" checked="checked" class="yesno">
</td>
<td>
<input id="GridView1__ctl2_chkNo2" type="checkbox" name="GridView1:_ctl2:chkNo2" class="yesno">
</td>
答案 0 :(得分:3)
答案 1 :(得分:1)
使用split()并访问数组中的最后一项
var ids = ['GridView1__ctl2_chkOut'
, 'GridView1__ctl2_chkYes2'
, 'GridView1__ctl2_chkNo2'
];
for (var i = 0; i < ids.length; i++) {
var splat = ids[i].split('_');
console.log(splat[splat.length - 1]);
}
&#13;
答案 2 :(得分:1)
var arr = "GridView1__ctl2_chkOut".split("_");
arr[arr.length - 1]; // gives chkOut
答案 3 :(得分:1)
你可以这样做:
str='GridView1__ctl45_chkNo2';
let index = str.lastIndexOf('_');
let result = str.substr(index + 1);
答案 4 :(得分:1)
这将为您提供从最后一个下划线到字符串结尾的所有内容。
var res = str.substring(str.lastIndexOf('_')+1, str.length);
如果你想进一步过滤,比如chk之前的任何东西
var chkRes = res.substring(res.lastIndexOf('chk'), res.length);