Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-试图正确使用$的问题(此)_Jquery_Html - Fatal编程技术网

jQuery-试图正确使用$的问题(此)

jQuery-试图正确使用$的问题(此),jquery,html,Jquery,Html,我试图使用jQuery遍历每个div,并将结果作为一个类出售。 扫描其中的2个列表项 如果第一个列表项为:“在线可用” 第二个是:“商店里没有。” 然后选择第二个li并将其删除 然而,它将“暂时售罄”从“商店内不可用”中删除,而不是“商店内可用” 我不知道$函数是否可以这样链接,但我希望不会。将选择器限制为特定父级中的元素的正确方法是将该父级作为第二个参数传递: $( "ul li:nth-child(2)", this ) 既然您也需要按文本进行过滤,为什么不一步完成所有操作,并将每个也去

我试图使用jQuery遍历每个div,并将结果作为一个类出售。 扫描其中的2个列表项

如果第一个列表项为:“在线可用” 第二个是:“商店里没有。”

然后选择第二个li并将其删除

然而,它将“暂时售罄”从“商店内不可用”中删除,而不是“商店内可用”


我不知道
$
函数是否可以这样链接,但我希望不会。将选择器限制为特定父级中的元素的正确方法是将该父级作为第二个参数传递:

$( "ul li:nth-child(2)", this )
既然您也需要按文本进行过滤,为什么不一步完成所有操作,并将
每个
也去掉呢。比如:

$('div.result-sold li:contains("Available Online") + li:contains("Not Available In Stores")')
  .css("list-style-image","none");

我不知道
$
函数是否可以像那样链接,但我希望不会。将选择器限制为特定父级中的元素的正确方法是将该父级作为第二个参数传递:

$( "ul li:nth-child(2)", this )
既然您也需要按文本进行过滤,为什么不一步完成所有操作,并将
每个
也去掉呢。比如:

$('div.result-sold li:contains("Available Online") + li:contains("Not Available In Stores")')
  .css("list-style-image","none");
您可以使用以下选项:

 $('div.result-sold').each(function() {

 if($(this).find('li:contains("Available online")').length>0 && 
    $(this).find('li:contains("Available online")').next('li:contains("Not Available in stores")').length>0){   

        $(this).find('li:contains(Not Available in stores)').css("list-style-image","none");   

       }  
  }); 
在每个
div.result-selled
中,如果包含可用在线文本的元素,则下一个
元素
包含
商店中不可用的文本,然后将此
css
应用于包含商店中不可用的元素(删除列表图像)

问题的第二部分,应检查if条件下的确切文本:

$('div.result-sold').each(function() {

 if($(this).find('li:contains("Temporarily Sold Out Online")').length>0 && 
     $(this).find('li:contains("Temporarily Sold Out Online")').next().text()==="Available in stores"){     

         $(this).find('li:contains("Temporarily Sold Out Online")').remove(); 
   }  
}); 
检查下面的片段

$('div.result-sell')。每个(函数(){
if($(this).find('li:contains(“在线可用”)).length>0&&
$(this).find('li:contains(“在线可用”))。next('li:contains(“商店中不可用”))。长度>0){
控制台日志(“g”);
$(this).find('li:contains(在商店中不可用)).css(“列表样式类型”,“无”);
}
});

  • 在线提供
  • 商店不提供
  • 在线提供
  • 库存
  • 在线提供
  • 商店不提供
您可以使用以下功能:

 $('div.result-sold').each(function() {

 if($(this).find('li:contains("Available online")').length>0 && 
    $(this).find('li:contains("Available online")').next('li:contains("Not Available in stores")').length>0){   

        $(this).find('li:contains(Not Available in stores)').css("list-style-image","none");   

       }  
  }); 
在每个
div.result-selled
中,如果包含可用在线文本的元素,则下一个
元素
包含
商店中不可用的文本,然后将此
css
应用于包含商店中不可用的元素(删除列表图像)

问题的第二部分,应检查if条件下的确切文本:

$('div.result-sold').each(function() {

 if($(this).find('li:contains("Temporarily Sold Out Online")').length>0 && 
     $(this).find('li:contains("Temporarily Sold Out Online")').next().text()==="Available in stores"){     

         $(this).find('li:contains("Temporarily Sold Out Online")').remove(); 
   }  
}); 
检查下面的片段

$('div.result-sell')。每个(函数(){
if($(this).find('li:contains(“在线可用”)).length>0&&
$(this).find('li:contains(“在线可用”))。next('li:contains(“商店中不可用”))。长度>0){
控制台日志(“g”);
$(this).find('li:contains(在商店中不可用)).css(“列表样式类型”,“无”);
}
});

  • 在线提供
  • 商店不提供
  • 在线提供
  • 库存
  • 在线提供
  • 商店不提供

您可以选择使用find,$(this).find(“ul li:nth child(2)”)进行链接,这使它能够工作-但它仍然选择每个div的第二个列表项,而不是仅选择“在线可用”的列表项。您可以选择使用find,$(this).find(“ul li:nth child(2)”进行链接这使它工作-但它仍然选择每个div的第二个列表项,而不是只有一个“在线可用”或“商店中不可用”。哦,我肯定可以这样做-你有时间帮我解决一个问题吗?它正在遍历其他div并删除这些列表项。我现在正在尝试这样做:if($(this).find(':contains(暂时在线售罄)&&$(this).find(':contains(暂时在线售罄)).next(':contains(商店中提供)'){$(this.find('li:contains(暂时在线售罄)')).remove();}所以它工作正常-但鉴于我有选择:“在商店中可用”和“在商店中不可用”,它会中断-因为它将“不可用”视为“可用”。哦,我完全可以做到这一点-你有时间帮我解决一件事吗?它正在遍历其他div并删除这些列表项。我现在正在尝试这样做:if($(this).find(':contains(暂时在线售罄)&&$(this).find(':contains(暂时在线售罄)).next(':contains(商店中提供)'){$(this.find('li:contains(暂时在线售罄)')).remove();}因此,它工作正常-但鉴于我有选项:“在商店中可用”和“在商店中不可用”,它会中断-因为它将“不可用”视为“可用”。是的,因为您在最后一行中删除了它。
$(this)。find('li:contains(暂时在线售罄))。remove()
应该删除。
$(this).find('li:contains(在商店中提供)').remove()?不,它正在删除网上售罄的临时文件。当案例仅在上面的图片中找到“在商店中可用”时才删除它时,它“在商店中不可用”,并且它正在从那里删除它。但它总是会删除它,因为“商店中不可用”总是有“商店中可用”的含义?检查更新的答案,并使用这两个代码段,用于上一个和以后的CA