Javascript 如何比较2个可见的div编号,并根据编号阈值显示div?
我试图找出如何在jquery中编写我的以下理论,但我遇到了麻烦,因为我更像是一个前端设计师/开发人员,我不太擅长比较/解析 我有一个包含两个跨度的div(#product)。1个跨度包含一个数字('.price-ship-1'),另一个隐藏跨度也包含一个数字('.price-ship-2') “.price-ship-1”始终存在,.price-ship-2”有时存在;如何检查“产品”中两者是否同时存在 如果只有“.price-ship-1”存在,则根据该号码进行我的号码解析并显示隐藏的div。但如果两者都存在,则根据“.price-ship-2”进行我的号码解析并添加一个类 目前,我只检查1个数字并将一个类添加到另一个div,但现在需要检查一个额外的数字并添加一个类,但我不确定如何编写它。我意识到我不需要下面的支票,因为“.price-ship-1”总是存在的,它只是在那里,因为我试图自己写,但没有用 我当前的脚本如下:Javascript 如何比较2个可见的div编号,并根据编号阈值显示div?,javascript,jquery,Javascript,Jquery,我试图找出如何在jquery中编写我的以下理论,但我遇到了麻烦,因为我更像是一个前端设计师/开发人员,我不太擅长比较/解析 我有一个包含两个跨度的div(#product)。1个跨度包含一个数字('.price-ship-1'),另一个隐藏跨度也包含一个数字('.price-ship-2') “.price-ship-1”始终存在,.price-ship-2”有时存在;如何检查“产品”中两者是否同时存在 如果只有“.price-ship-1”存在,则根据该号码进行我的号码解析并显示隐藏的div。
if ($('.promo-ship-1').length){
$('.promo-ship-1').each(function(){
var $this = jQuery(this);
var number=$this.html();
number=number.substring(1);
number=parseFloat(number);
if(number > 99){$this.parents('.ship-banner').addClass('test123');}
});
}
谢谢你抽出时间
更新:
我继承了代码,但还没有100%了解它。深入阅读,我的问题实际上比我最初认为的更复杂。。。为了我的目的,我可能不得不结束这个问题,但我相信其他人会觉得它有用
$('#product')。查找('span')。长度是1还是2
如果要检查price-ship-1和price-ship-2的存在性,并且它们都位于id为#product的div下面,那么就更简单了
//try to only query the dom once, it is an expensive op
var productDiv = $('#product')
if (productDiv.length) {
productDiv.each(function () {
var $this = jQuery(this);
var priceShip2 = $('.price-ship-2', $this)
if (priceShip2.length) {
//PRICE 2 EXISTS
} else {
//ONLY PRICE 1 EXISTS
}
});
}
根据您分享的内容,我编写了一段代码来模拟您的场景。我相信您可以在自己的代码中使用它的大部分:
$(函数(){
//只是为了找出元素的存在性和可见性。
函数计算(){
var prod=$(“#产品”);
var span1=prod.find('.price-ship-1');
var span2=span1.同级('.price-ship-2');
var p=$('p');
if(span2.length Tip:$(选择器).is(':visible');
@MelanciaUK如果它存在并且隐藏了怎么办?$('#product')。find('[class^=promo ship]:visible')。length==2
表示两者都存在并且可见。使用$this.text()
要获得准确的文本,html将返回html格式的文本。--这只是一个离题帮助。您想在何处/何时检查或测试此场景?我的意思是它是在事件中?还是在函数或其他什么东西中?为什么要对productDiv执行的each()
当其长度
应仅为1(如果存在)时?选择器是一个id
,id
应该是唯一的。此外,您没有检查第二个元素的可见性
。它可以在那里,但也可以不可见。