Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 计算div中的文本行数_Jquery_Html - Fatal编程技术网

Jquery 计算div中的文本行数

Jquery 计算div中的文本行数,jquery,html,Jquery,Html,我的div中有title和description,我要求如果title长度超过一行,那么我必须使用JQuery隐藏描述 <div class="text"> <div> <div class="text_title">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </div> <div class="tex

我的div中有title和description,我要求如果title长度超过一行,那么我必须使用JQuery隐藏描述

<div class="text">
    <div>
        <div class="text_title">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum </div>
        <div class="text_description">Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem IpsumLorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum</div>
    </div>
</div>
我尝试了不同的方法,从下面的链接,但没有任何工作对我来说还没有


我还尝试了字符计数,但这不是一个好的解决方案,因为屏幕布局可能会改变。

您可以这样做:

function countLines(obj) {
  var el = $(obj)
  var divHeight = el.outerHeight()
  var lineHeight = parseInt(el.css("line-height").replace("px",""));
  var lines = divHeight / lineHeight;
  console.log("Lines: " + lines);
}
然后调用:countLines$'.text.text\u description'

如果.text\u标题中的行数超过1行,则使用隐藏函数更新演示

演示

如果countLines$'.text.text_title'>1{ $'.text_description'.hide } 函数countLinesobj{ 变量el=$obj var divHeight=el.outerHeight var lineHeight=parseIntel.cssline height.replacepx,; 变量行=divHeight/lineHeight; 回流线; } .text_标题{ 线高:20px; } Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智
你可以这样做:

function countLines(obj) {
  var el = $(obj)
  var divHeight = el.outerHeight()
  var lineHeight = parseInt(el.css("line-height").replace("px",""));
  var lines = divHeight / lineHeight;
  console.log("Lines: " + lines);
}
然后调用:countLines$'.text.text\u description'

如果.text\u标题中的行数超过1行,则使用隐藏函数更新演示

演示

如果countLines$'.text.text_title'>1{ $'.text_description'.hide } 函数countLinesobj{ 变量el=$obj var divHeight=el.outerHeight var lineHeight=parseIntel.cssline height.replacepx,; 变量行=divHeight/lineHeight; 回流线; } .text_标题{ 线高:20px; } Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum 益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智
此动态功能将非常有用。您可以通过传递选择器来显示行数,也可以获取行计数器号作为返回值。可以很好地调整窗口大小。这是演示

$document.readyfunction{ 函数countLines$ele,$targetEle{ var myText=$ele.text.split'; var mainTop=$ele.offset.top; var preVal=主顶部; var计数器=1; $ele.text; $.eachmyText,函数{ 如果是这样的话!={ $ele.append+this+''; } }; 如果$ele.children'span'.length!=0{ $ele.children'span'。每个函数{ var thisTop=$this.offset.top; 如果preVal!=此顶部{ 计数器++; preVal=此顶部; } }; } var textString=; $ele.children'span'。每个函数{ textString+=$this.text; $this.remove; }; $ele.htmltextString; 如果$targetEle{ $targetEle.children'.counter'.textcounter; } 返回计数器; } 函数检查线{ //使用目标元素获取变量中的计数器值以显示NumbersTarget元素是可选的。 var myCount=countLines$'。text_title',$'line1'; 如果myCount>1{ $'.text_说明,第2行'.隐藏; } 否则{ $'.text_说明,第2行'.show; } //使用目标元素获取计数器值以显示NumbersTarget元素是可选的。 countLines$'。text_description',$'line2'; } 检查线; $window.resizefunction{ 检查线; }; }; *,*:之后,*:之前{ 框大小:边框框; } 身体{ 字体系列:“开放式Sans”,衬线; 背景色:d1d8de; 填充:20px; } .text\u标题、.text\u说明{ 边缘顶部:10px; } .台词{ 字体大小:粗体; } 益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智 标题行:0 学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智
描述行:0此动态功能将非常有用。您可以通过传递选择器来显示行数,也可以获取行计数器号作为返回值。可以很好地调整窗口大小。这是演示

$document.readyfunction{ 函数countLines$ele,$targetEle{ var myText=$ele.text.split'; var mainTop=$ele.offset.top; var preVal=主顶部; var计数器=1; $ele.text; $.eachmyText,函数{ 如果是这样的话!={ $ele.append+th 是+“”; } }; 如果$ele.children'span'.length!=0{ $ele.children'span'。每个函数{ var thisTop=$this.offset.top; 如果preVal!=此顶部{ 计数器++; preVal=此顶部; } }; } var textString=; $ele.children'span'。每个函数{ textString+=$this.text; $this.remove; }; $ele.htmltextString; 如果$targetEle{ $targetEle.children'.counter'.textcounter; } 返回计数器; } 函数检查线{ //使用目标元素获取变量中的计数器值以显示NumbersTarget元素是可选的。 var myCount=countLines$'。text_title',$'line1'; 如果myCount>1{ $'.text_说明,第2行'.隐藏; } 否则{ $'.text_说明,第2行'.show; } //使用目标元素获取计数器值以显示NumbersTarget元素是可选的。 countLines$'。text_description',$'line2'; } 检查线; $window.resizefunction{ 检查线; }; }; *,*:之后,*:之前{ 框大小:边框框; } 身体{ 字体系列:“开放式Sans”,衬线; 背景色:d1d8de; 填充:20px; } .text\u标题、.text\u说明{ 边缘顶部:10px; } .台词{ 字体大小:粗体; } 益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智 标题行:0 学识:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智:益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智益智
描述行:0你能把java脚本的努力放在你的答案中吗?你能把java脚本的努力放在你的答案中吗?