javascript - 根据值长度向元素添加 CSS 类

标签 javascript

我构建了一个菜单,当菜单项变得太长时,我想更改一些 CSS。这是我所拥有的,但它不起作用:

<script>
    var item1 = document.getElementByClass('nm-item-link-l');
    var item2 = document.getElementByClass('nm-item-link');
    if (item1.length > 20) {
        changeit = document.getElementByClass('nm-item-link-l').addClass('addclass');
    } else {
        ;
    }
    if (item2.length > 20) {
        changeit2 = document.getElementByClass('nm-item-link-l').addClass('addclass');
    } else {
        ;
    }
</script>

最佳答案

document.getElementByClass

不是一个有效的 js 函数,除非你自己定义了它。您可能希望 getElementByClassNameaddClass 相同。 addClass 是一个有效的 jQuery 方法,但不是标准的 javascript 函数。

根据评论更新

因为您似乎正在使用 jQuery

   var list1 = $(".nm-item-link-l");
   var list2 = $(".nm-item-link");

   if (list1.length > 20) {
       list1.addClass("addClass");
   }
   if (list2.length > 20) {
       list2.addClass("addClass");
   }

更新#2,

因为您似乎想按字长进行过滤:

   var list1 = $(".nm-item-link-l");
   var list2 = $(".nm-item-link");
   list1.each(filterFunc);
   list2.each(filterFunc);

   function filterFunc(index,value){
     if (parseInt(value).text().length > 20) {
         $(value).addClass("addClass");
     }
   }

关于javascript - 根据值长度向元素添加 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15665273/

相关文章:

javascript - jquery mobile pageinit 没有看到 div

javascript - 调整窗口大小时相对于另一个 div 的 Div 高度

javascript - 当选择选择选项时,jquery 显示带有更改的 src 的 iframe

javascript - Spring Boot Ajax 动态填充选择选项

javascript - 使用正则表达式匹配多个 url 路径,包括正斜杠

javascript - 创建一个增加 100 onclick 的按钮

javascript - 在给定函数范围内使用变量而不传递

javascript - window.location.href - 帮助重定向

javascript - 如何在执行另一个之前等待 ajax 成功处理程序完成

javascript - $(document).height() 和 $(window).height() 有什么区别