JQuery получить текст всех элементов на странице - PullRequest
3 голосов
/ 02 марта 2012

Я хочу получить текст всех элементов. Я использую этот код здесь:

$('*').filter(function()
{
    if(($(this).text().lenght>0)&&($(this).text().lenght<100))
    {
        return true;
    }
    else
    {
        return false;
    }
}).each(function()
{
    console.log($(this).text());
});

Я пытаюсь показать только короткий текст, потому что .text () иногда возвращает HTML-код, но он вообще не работает.

Ответы [ 4 ]

12 голосов
/ 02 марта 2012

Это намного проще: $('body').text() дает вам весь текст на странице.

Если вам нужно перебрать все текстовые узлы, см. Здесь: Как выбрать текстовые узлы с помощью jQuery?

1 голос
/ 02 марта 2012

не могу проверить, работает ли это atm, но что-то вроде этого должно быть тем, что вам нужно, возможно, потребуются некоторые модификации для фильтрации сценариев и прочего.

$('body').children().each(function(index) {
     yourarray[index] = $(this).text();
});

РЕДАКТИРОВАТЬ: Попробовал и понял, что для этого нужны только первые дети, а не внуки, а также много пробелов и прочее, у меня нет времени написать всю функцию для вас, но вот хорошее начало, по крайней мере , .find ('*') выбирает все элементы внутри документа.

$("body").find('*').each(function (index) {
    //checks that the text isnt empty, no need to store that.
    if ($(this).text() != '') {
        //stores the elements text inside a temp variable, 
        //trims it from whitespaces and console.logs the results.
        temp = $(this).text();
        yourarray[index] = $.trim(temp);
        console.log(index+': '+yourarray[index]);
    }
});
1 голос
/ 02 марта 2012

Ошибка орфографии length должна быть

$('*').filter(function()
{
    if(($(this).text().length>0)&&($(this).text().length<100))
    {
        return true;
    }
    else
    {
        return false;
    }
}).each(function()
{
    console.log($(this).text());
});
0 голосов
/ 02 марта 2012

Может быть, это:

$("body").find().each(function () {
    if ($(this).text != undefined) {
        ...
    }
}
...