1

div 内の各値を取得する方法を理解しようとしています。私は使っている

var cart = $('.basic-cart-cart-node-title.cell').text(); 

OI-01OP-01OS-10-5SOR-04OR-05 I need to view them by one:の結果が表示されますOI-01, OP-01, OS-10-5S, OR-04 OR-05

それらを別のフィールドと照合できるようにします。
さらに私を助けたい場合は、ページに別の div があります。

var ParNum = $('.assess-title').text();

から返された値を比較して、var cartその値が にあるかどうかを確認したいと思いますParNum。もしあれば、クラスを申請したいです。

どんな助けでも大歓迎です。

ありがとう!

4

7 に答える 7

3

.map()メソッドを使用して、値を配列に格納できます。

var values = $('.basic-cart-cart-node-title.cell').map(function() {
    return $.trim( $(this).text() );
}).get(); 

ParNum配列内の値の存在を確認するには:

var does_exist = values.indexOf(ParNum) > -1;
于 2013-08-28T19:16:32.520 に答える
2

要素を反復するには、これを試してください:

var text = '';
$('.basic-cart-cart-node-title.cell').each(function (i, div) {
  text += ' ' + $(div).text();
});

または、一致する div 要素の配列を取得するには、次のようにします。

var divs = $('.basic-cart-cart-node-title.cell').toArray();
for (var i = 0; i < divs.length; i++) {
  // $(div).text();
}

この理由は$('.basic-cart-cart-node-title.cell')、一度にすべての div を返すため、結果をループする必要があるためです。より具体的に$(selector)は、いわゆる「ラップされたセット」を返します。一致する各要素にアクセスするために使用することも (上で示したように)、他の jQuery 関数をセット全体に一度に適用するために使用することもできます。詳細はこちら

于 2013-08-28T19:15:32.983 に答える
2
var text = "";

$('.basic-cart-cart-node-title.cell').each(function(){ 
   text += $(this).text() + ", ";
});
// remove the last ", " from string
text = text.substr(0, text.length -2);
于 2013-08-28T19:16:24.933 に答える
0
var cart = [];
$('.basic-cart-cart-node-title.cell').each(function {
    cart.push($(this).text());
}
于 2013-08-28T19:16:51.613 に答える
0

これにより、質問で言及したマッチングとクラスの追加が実行されます。

var ParNum = $('.assess-title').text();
$('basic-cart-cart-node-title.cell').each(function () {
    if ($(this).text() == ParNum) {
        $(this).addClass("someclass");
    }
}
于 2013-08-28T19:22:34.447 に答える
0

使ってみるべきです

var cart ='';
$('.basic-cart-cart-node-title'.find('.cell').each(function()
{
 cart = cart + $(this).val();
});

それがうまくいくことを願っています。

于 2013-08-28T19:22:35.750 に答える
-1
var cart = $('.basic-cart-cart-node-title.cell').text().match(/.{5}/g);

これにより、長さが 5 文字の項目の配列が得られます。正規表現はそれほど高速ではありませんが、ループは遅くなる可能性があります

または読みやすく、コンマを含む文字列で:

var cart = $('.basic-cart-cart-node-title.cell').text(); // get text
cart = cart.match(/.{1,5}/g); // split into 5 char long pieces
cart = cart.join(",",); join on comma
于 2013-08-28T19:16:41.463 に答える