我试图找出如何在我的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
中。如果它在那里,我想申请一个班级。
非常感谢任何帮助。
谢谢!
答案 0 :(得分: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;
答案 1 :(得分: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函数同时应用于整个集合。更多信息here。
答案 2 :(得分: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);
答案 3 :(得分:0)
var cart = [];
$('.basic-cart-cart-node-title.cell').each(function {
cart.push($(this).text());
}
答案 4 :(得分:0)
这将执行您在问题中提到的匹配和类添加。
var ParNum = $('.assess-title').text();
$('basic-cart-cart-node-title.cell').each(function () {
if ($(this).text() == ParNum) {
$(this).addClass("someclass");
}
}
答案 5 :(得分:0)
你应该尝试使用
var cart ='';
$('.basic-cart-cart-node-title'.find('.cell').each(function()
{
cart = cart + $(this).val();
});
希望它适合你。
答案 6 :(得分:-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