Я думаю, что это небольшая проблема, но я как-то застрял.Рассчитать текст 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 length (= 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); оленья кожа. Попробуйте предупредить текст экстента перед оповещением о длине, и вы увидите разницу –