代码之家  ›  专栏  ›  技术社区  ›  Paul

检查数据属性和应用逻辑失败

  •  2
  • Paul  · 技术社区  · 6 年前

    在每个div - smallCatalogBlock ,我有一个数据属性 data-availability “是”或“否”。我正在尝试检查数据属性的值。如果不是,我想要 catalogSmallCircle ,特别是要隐藏该分区。

    到目前为止,什么都没有发生。

    有人看到我做错了什么吗?根据我的尝试,“紧固技术”的按钮应该隐藏起来。

    var availability = $('.smallCatalogBlock').data('availability');
    $('.smallCatalogBlock').each(function(index, catalogBlock){
    		catalogName = $(catalogBlock).data('fill-specs');
    		console.log('catalog name ' + catalogName);
    		if (availability == 'No') {
    			console.log(availability);
    			$('.catalogSmallCircle').hide();
    		}
    		//Filling Circle
    		$('.catalogSmallCircle', catalogBlock).html(
    			'<div class="catalogSmallCircleIn" data-catalog-name='+ catalogName +'><div class="total-center"><div class="circlePlus"></div></div></div><div class="catalogCircleExpand"><div class="catalogExpandClose"></div><div class="total-center expandText"><span class="catalogName pdfSubHeader"></span><p class="dGw circleExpandText"></p><button class="catalogDownload downloadButton" name="Profile_Catalog" data-catalog-now="Profile Small Catalog Button" data-catalog-view-name="Profile Catalog">View</button><button class="catalogDownload requestButton" data-catalog-name="'+ catalogName +'">Request</button></div></div>'
    		)
    	});
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <div class="smallCatalogWrap">
      <div class="smallCatalogBlock" data-fill-specs="Profile-Catalog" data-availability="Yes">
        <span class="smallCatalogTitle">Profiles and Caps</span>
        <div class="smallCatalogButtonWrap">
          <div class="catalogSmallCircle"></div>
        </div>
      </div><div class="smallCatalogBlock comingSoonSmall" data-fill-specs="Fastening Technology" data-availability="No">
        <span class="smallCatalogTitle">Fastening Technology</span>
        <div class="smallCatalogButtonWrap">
          <div class="catalogSmallCircle"></div>
        </div>
      </div>
    </div>
    2 回复  |  直到 6 年前
        1
  •  1
  •   Cuong Hoang    6 年前

    变化

        if (availability == 'No') {
            console.log(availability);
            $('.catalogSmallCircle').hide();
        }
    

    if ($(this).data('availability') === 'no') {
            console.log(availability);
             $(this).find('.catalogSmallCircle').hide();
    }
    
        2
  •  0
  •   PBro    6 年前

    看起来您的可用性变量在每个循环之外。相反,它应该像fill-specs数据属性那样处理。