我有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";
}
}
}());
答案 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";
}
...确保他们在更长时间后重新开启。