0

我有这样的字符串:

<input name="my_name" id="my_id" value="my_value" class="my_class" />

我想找到“id”中的内容,即“my_id”。

提前致谢

4

4 回答 4

0

你可以用这样一个简单的jquery函数来做到这一点

var currentId = $(".my_class").attr('id');
于 2012-06-15T03:21:58.073 回答
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];
于 2012-06-15T03:29:19.183 回答
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];
于 2012-06-15T03:36:25.437 回答
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="','"');

否则,其他人已经指出了解决问题的方法。

于 2012-06-15T14:41:59.060 回答