我希望能够隐藏少于 3 个字符的列表项,我该怎么做?我下面的代码有什么问题?
我是一个 JavaScript/jQuery 新手。
jQuery().ready(function () {
if (jQuery('ol li').length < 3) {
jQuery(this).hide();
};
});
我希望能够隐藏少于 3 个字符的列表项,我该怎么做?我下面的代码有什么问题?
我是一个 JavaScript/jQuery 新手。
jQuery().ready(function () {
if (jQuery('ol li').length < 3) {
jQuery(this).hide();
};
});
你的代码说
if (jQuery('ol li').length < 3) { //If I have less than 3 li elements
jQuery(this).hide(); //hide the window object
};
您要使用的是过滤器
$('ol li').filter( function(){ return $(this).text().length<3; } ).hide();
编辑 - 根据您在我的帖子中的评论:如果它是一个跨度标签,它周围可能有其他数据:
$('ol li span').filter( function(){ return $(this).text().length<3; } ).parent().hide()
您需要过滤掉内容少于 3 个字符的元素,并隐藏这些元素:
$(function() {
$('ol li').filter(function() {
return $(this).text().length < 3 ;
}).hide();
});
$('ul li').each(function() {
if ($(this).text().length < 3)
$(this).hide();
});
试试这个:
$('ol li').filter(function(){ return $(this).text().length < 3; }).hide();
另一种选择可能是这样的:
(因为您正在评估问题代码片段中的元素而不是值字符)
if($('ol li').length < 3){ $(this).hide(); };
我认为您需要获取.html()
您的 DOM 元素,然后执行.length
此操作。