Выбрать элементы с текстовым содержимым? - PullRequest
0 голосов
/ 17 октября 2011

Я хотел бы выбрать все элементы с прямым текстовым содержимым. Итак, с учетом документа

<div>
 <h1>Hi</h1>
 <article>
   <p>blah balah blah</p>
   <p>blah blahrg blarg</p>
 </article>
 <footer></footer>
</div>

Я бы хотел выбрать элементы h1 и p (итого 3 элемента). Есть ли простой способ сделать это?

Ответы [ 2 ]

3 голосов
/ 17 октября 2011
(function(){
    var ignoredNodes = {
    "script" : true,
    "noscript" : true
    };

    jQuery("*", "body").filter(
        function(){
        var c;

        if( this.nodeName.toLowerCase() in ignoredNodes ) {
        return false;
        }

        c = this.firstChild;

        return c && c.nodeType === 3 && jQuery.trim(c.data);
        }
    );

    //[<h1>Hi</h1>, <p>blah balah blah</p>, <p>blah blahrg blarg</p>]
})()
1 голос
/ 17 октября 2011

Я думаю, что здесь ответили: Как выбрать текстовые узлы с помощью jQuery? как с jquery, так и с чисто javascript-решениями

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...