私はこのような文字列を持っています:
<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」の中にあるものを見つけたいと思います。
前もって感謝します
これだけが必要な場合は、完全な 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];
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="','"');
そうでなければ、他の人がすでにそれを解決する方法を指摘しています。
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];
このような単純なjquery関数でそれを行うことができます
var currentId = $(".my_class").attr('id');