我有这样的字符串:
<input name="my_name" id="my_id" value="my_value" class="my_class" />
我想找到“id”中的内容,即“my_id”。
提前致谢
答案 0 :(得分:0)
你可以使用像这样的简单jquery函数来完成它
var currentId = $(".my_class").attr('id');
答案 1 :(得分:0)
如果您需要,请不要加载完整的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];
答案 2 :(得分:0)
如果绝对必须使用正则表达式来解析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];
答案 3 :(得分:0)
如果您只想使用字符串而不是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="','"');
否则其他人已经指出了解决问题的方法。