JavaScript通过选择不起作用的html属性来隐藏li标签

时间:2014-12-03 19:34:13

标签: javascript jquery html css

我有3列包含动态生成的列表元素(li标签) 这些属性在我在此元素中未达到一定数量的字符时尝试用来隐藏行/ li。(通过使用不透明度属性)

我有它的工作......有时它有时只适用于3中的一列...... 所以我很欣赏这里有什么问题。

(function() {

   // selecting all elements with class
   // class="checkout-tariff-meta-maybe-hidden"
   var elems =  $(".checkout-tariff-meta-maybe-hidden");

   // interact between founded elements
   for (var k = 0; k < elems.length; k++) {
      // getting text content size
      var textSize = elems[k].textContent.length;
      // if text size is one we will hide element
      if (textSize <= 1) {
         // hiding
         elems[k].style.opacity = "0";

      }
   }

}());

3 个答案:

答案 0 :(得分:1)

由于你正在使用jQuery,隐藏你可以做的元素:

$(elems[k]).hide();

或者,如果您希望隐藏它而不会崩溃(因为您正在改变不透明度,我认为是这种情况),请查看.fadeTo()

$(elems[k]).fadeTo(1, 0);

答案 1 :(得分:1)

你可以直截了当地做点什么:

// Adjust as needed
    $(document ).ready(function() {
    $('.checkout-tariff-meta-maybe-hidden').filter( function() { 
     return $(this).text().length<3; } ).hide();
});

答案 2 :(得分:0)

你可能会看......

  if (textSize <= 1) {
     elems[k].style.opacity = "0";
  } else {
     elems[k].style.opacity = "1";
  }

...确保他们在更长时间后重新开启。