我認爲這是一個小問題,但我卡住,不知何故。計算jQuery文本()。可見元素的長度而不刪除隱藏元素
考慮下面的代碼
HTML:
<div class="india">
<p class="hidden"> Uttar Pradesh </p>
<p> Andhra Pradesh </p>
<p class="hidden"> Uttar Pradesh </p>
<p> Andhra Pradesh </p>
</div>
CSS:
.hidden{
display: none;
}
JAVASCRIPT:
/* Case 1: No of char inside div when hidden elements are removed
RETURNS 53 */
$('div.india').find(":hidden").remove();
alert($('div.india').text().length);
現在我想回到山姆e長度(= 53)而不移除隱藏的元素。我曾嘗試做以下事情(一個接一個/或單獨類似的div),但它們都返回不同的長度
如何在不移除隱藏元素的情況下返回相同的長度?解釋爲什麼他們是不同的長度歡迎!
鏈接:http://jsfiddle.net/deveshz/R2QNM/1/
// Without Removing hidden div RETURNS 32
/*Case 2: */
alert($('div.india').find(":visible").text().length);
/* Case 3 */
var charlength = 0;
$('div.india').find(":visible").each(function(){
charlength += $(this).text().length;
});
alert(charlength);
/*Case 4 RETURNS 21*/
var clone = $('div.india').clone();
clone.find(":hidden").remove();
alert(clone.text().length);
看起來像第一個長度調用包含空格和可能的回車。 'alert($('div.india')。find(「:visible」)。text()。length);'犯規。嘗試提醒長度警報之前的實際文字,你會看到區別 –