我有这个HTML,并尝试从每个<li class="col-xs-2">
获取文本(即品牌:阿迪达斯)。
<div class="row text-secondary">
<div class="col-xs-2">
<ul class="row">
<li class="col-xs-2">
Brand:
Adidas
</li>
<li class="col-xs-2">
Colour: Black
</li>
<li class="col-xs-2">
Model:
New
</li>
<li class="col-xs-2">
Size:
2
</li>
像这样:
if ($(".row.text-secondary")[0]){
$('div.text-secondary div.col-xs-2 ul.row li.col-xs-2').each(function () {
var Var1 = [];
var Var2 = [];
var Var3 = [];
Var1 = $(this).text();
Var2 = Var1.replace(/[\n\t\r]/g, "");
Var3.push(Var2);
});
} else{
var Var3 = ["NotAvailable", "NotAvailable", "NotAvailable","NotAvailable"];
}
但是当我保存到数据库时,我得到if ($(".row.text-secondary")[0])
评估为true
的空白值(如果我使用if ($(".row.text-secondary").length)
也是如此。如果上述条件评估为{{},我只会得到正确答案1}},然后我得到false
。
有谁知道我做错了什么?
答案 0 :(得分:1)
使用条件$(".row.text-secondary")!=null
同样Var1
和Var2
是字符串而不是数组
Var3
此外,如果您只想丢弃字段名称的值,请使用
var Var2 = Var1.substring(Var1.indexOf(":") + 1).replace(/[\n\t\r]/g, "").trim();
而不是
var Var2 = Var1.replace(/ [\ n \ t \ r \ n] / g,&#34;&#34;);
第一个选项将生成一个具有["Adidas", "Black", "New", "2"]
希望它有所帮助,
var Var3 = [];
if ($("div.row.text-secondary")!=null){
$('div.text-secondary div.col-xs-2 ul.row li.col-xs-2').each(function () {
Var1 = $(this).text();
var Var2 = Var1.replace(/[\n\t\r]/g, "");
Var3.push(Var2);
});
} else{
Var3 = ["NotAvailable", "NotAvailable", "NotAvailable","NotAvailable"];
}