我正试图弄清楚如何在我的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