2

JavaScript 文字列変数にある次の HTML を考えると、JQuery を使用して値 1234、5678、9012 を配列に抽出したいと思います。

<input type="hidden" id="name" value="1234"/>
<input type="hidden" id="name" value="5678"/>
<input type="hidden" id="name" value="9012"/>

さまざまな正規表現を試しましたが$each、文字列をループまたはラウンドしてすべてを見つけるのに問題がありますvalues="xxxx"

4

5 に答える 5

1

文字列内にある場合は、単純$(<string-value>)にそれを使用して jQuery オブジェクトに変換し、.filter()関数を使用して入力要素を反復処理できます。

var str = '<input type="hidden" id="name" value="1234"/>\
<input type="hidden" id="name" value="5678"/>\
<input type="hidden" id="name" value="9012"/>',
values = [];

$(str).filter('input').each(function() {
    values.push(this.value);
});

デモ

于 2013-04-24T16:14:14.347 に答える
1

First of all, do not use duplicate id's more than once.

Use a class, then grab the elements using `$('.class').each();

var elements = [];
$('.classname').each(function() {
    elements.push($(this).val());
});
于 2013-04-24T16:09:49.230 に答える
0
var html = '<input type="hidden" id="name" value="1234"/><input type="hidden" id="name" value="5678"/><input type="hidden" id="name" value="9012"/>';

var temp = document.createElement('div');
temp.innerHTML = html;
var inputs = temp.getElementsByTagName('input');
var values = [];
for (var i=0; i< inputs.length; i++)
{
    if(inputs[i].type == 'hidden'){
        values.push(inputs[i].value);
    }
};
alert(values.join(','));

デモ

于 2013-04-24T16:27:41.900 に答える
0

NOTE: IDs MUST be unique.

But here is how you can go about it:

var arr=[];
$('input[type="hidden"]').each(function(){
    arr.push($(this).val());
});

DEMO: http://jsfiddle.net/dirtyd77/XNhas/

于 2013-04-24T16:09:56.227 に答える