我有这样的字符串:
<input name="my_name" id="my_id" value="my_value" class="my_class" />
我想找到“id”中的内容,即“my_id”。
提前致谢
我有这样的字符串:
<input name="my_name" id="my_id" value="my_value" class="my_class" />
我想找到“id”中的内容,即“my_id”。
提前致谢
你可以用这样一个简单的jquery函数来做到这一点
var currentId = $(".my_class").attr('id');
如果这就是您所需要的,请不要加载完整的 DOM 操作库。
如果你有一个字符串,你可以把它变成一个 DOM 元素,并获取id
属性。
var my_string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var div = document.createElement('div');
div.innerHTML = my_string;
var id = div.firstChild.id;
或者只是使用正则表达式...
var my_string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var id = /id\s*=\s*"([^"]+)"/.exec(my_string);
if (id) id = id[1];
如果您绝对必须使用正则表达式来解析 HTML 元素属性,那么下面的 JavaScript 片段应该可以解决问题。
var regex = /id="([^"]+)"/
var string = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var matches = string.match(regex);
var id_val = matches && matches[1];
如果您只想使用字符串而不是 DOM 模型来执行此操作,请使用。
function TextBetween (str,first,second) {
if (str==null) {
alert("Unexpected page formatting, please reload.");
return "";
}
var x = str.indexOf(first) + first.length;
var z = str.substr(x);
var y = z.indexOf(second);
return z.substr(z,y);
}
var inputString = '<input name="my_name" id="my_id" value="my_value" class="my_class" />';
var id = TextBetween(inputString,'id="','"');
否则,其他人已经指出了解决问题的方法。