【问题标题】:Detect text length of div with class用类检测div的文本长度
【发布时间】:2014-05-23 17:12:06
【问题描述】:

我是 JQuery 的新手,但有一些 JS 经验。继承了别人的作品。

我正在尝试计算 div 的字符长度,然后在字符过多时显示一条消息。

"selector":"div.info-box",
"filter": function(index,obj){
var boxlength = obj.text().length;
if(boxlength > 50){
return true;
}
return false;
},
"each":function(obj){
$(obj).css("border-bottom","dashed 1px red");

过滤器给我带来了问题。如果我完全删除过滤器,那么我想要的带有一类信息框的特定 div 会用红色破折号突出显示(至少我知道我的选择器是正确的)。如何编写过滤器来检测超过 50 个字符? 我需要保留选择器,过滤器,每个的格式。

谢谢

【问题讨论】:

  • 这是什么插件/语言?
  • 看起来您没有向我们提供您正在使用的整个 JavaScript 代码。这个根本无效。
  • 调试器告诉我对象 var boxlength 不支持方法或属性,所以我会读到,因为我无法为 div.info-box 创建变量但不知道从那里去哪里。
  • 要包含的其他代码太多了,只是过滤器让我失望了。这不正常吗?抱歉,我在 JQuery 中迷路了。
  • 看我的回答。这就是它与 jQuery 一起工作的方式。但是您至少应该向我们提供有效的代码。 Javascript 不以"selector":... 开头。否则每个人都只能猜测你的问题是什么。 obj 的 console.log() 输出是什么?也许它不是 jQuery 对象?

标签: jquery text string-length


【解决方案1】:

只是进入黑暗的一个镜头:

$('div.info-box').on('<your action>', function(){
  if ($(this).val().length > 50)
  {
    alert('more than 50 characters');
  }
})

您应该在jquery.com 阅读更多内容。

【讨论】:

  • 感谢您抽出宝贵时间回复 Jurik,非常感谢。我用 simnply 替换了变量和 if 语句的行 - “if ($(obj).elements[0].innerHTML.length > 250)”,它完美地工作
  • @user3518221 将我的答案标记为正确会很好:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多