Читайте каждую строку элемента в jQuery - PullRequest
6 голосов
/ 07 апреля 2010

Предположим, у меня есть HTML-разметка:

<code><div id="wrapper">
 <pre class="highlight">
    $(function(){
    // hide all links except for the first
    $('ul.child:not(:first)').hide();
    $("a.slide:first").css("background-color","#FF9900");

    $('ul.parent a.slide').click(function(){
        $('ul.parent a.slide').css("background-color","#3399FF");

        $('ul.parent a.slide').mouseout(function(){
            $(this).css("background-color","#3399FF");
        });

        $('ul.parent a.slide').mouseover(function(){
            $(this).css("background-color","#66CC66");
        });
    });
    });
  

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

Edit:

Я добавил тег pre после класса-оболочки, пожалуйста, учтите это.

Ответы [ 2 ]

15 голосов
/ 07 апреля 2010

Вы имеете в виду что-то вроде этого:

var lines = $("#wrapper pre").text().split("\n");
$.each(lines, function(n, elem) {
            console.log(elem);
          });

Так как это текст (а не html), вы должны обращаться с ним как с таковым. Единственный способ сделать это - прочитать его, а затем использовать процедуры синтаксического анализа строк.

3 голосов
/ 07 апреля 2010

В основном просто нужен прямой JavaScript:

var text;

text = $('#wrapper pre').text(); // Or .html, doesn't really matter with the input you showed
text = text.replace("\r\n", "\n"); // Just in case
text = text.split("\n");
// text is now an array of lines

Некоторые браузеры обрезают первый разрыв строки, некоторые - нет, поэтому есть пара крайних случаев (без каламбура).Но это в основном все.

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