如何通过div循环并获取每个值



我正试图弄清楚如何在我的div中获得每个值。我正在使用

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

它给出了OI-01OP-01OS-10-5SOR-04OR-05的结果我需要逐一查看它们:OI-01, OP-01, OS-10-5S, OR-04 OR-05

这样我就可以在另一块场地上与他们比赛了
如果你想进一步帮助我,我在页面上有另一个div:

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

我想比较从var cart返回的值,看看该值是否在ParNum中。如果有,我想申请一个班。

如有任何帮助,我们将不胜感激。

谢谢!

您可以使用.map()方法将值存储在数组中:

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

用于检查阵列中是否存在ParNum值:

var does_exist = values.indexOf(ParNum) > -1;

尝试迭代元素:

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函数应用于整个集合。点击此处了解更多信息。

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);
var cart = [];
$('.basic-cart-cart-node-title.cell').each(function {
    cart.push($(this).text());
}

这将执行您在问题中提到的匹配和类添加。

var ParNum = $('.assess-title').text();
$('basic-cart-cart-node-title.cell').each(function () {
    if ($(this).text() == ParNum) {
        $(this).addClass("someclass");
    }
}

您应该尝试使用

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

希望它对你有用。

var cart = $('.basic-cart-cart-node-title.cell').text().match(/.{5}/g);

这将为您提供一个包含5个字符长的项的数组。Regexes不是很快,但循环可能较慢

或者更容易阅读,并在一个带逗号的字符串中:

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

相关内容

  • 没有找到相关文章

最新更新