http://jsfiddle.net/JamesKyle/L4b8b/
Я пытаюсь создать чрезвычайно простую функцию prettyprint с помощью jQuery, но я не знаю, как найти элементы, атрибуты и значения (показано в jsfiddle).
Я пытаюсь выполнить следующее:
- Обернуть элементы с помощью
<span class="element" />
- Обернуть атрибуты с помощью
<span class="attribute" />
- Обернуть значения с помощью
<span class="value" />
- Заменить
<
на <
- Заменить
>
на >
Воттекущий jQuery, который у меня есть:
$(document).ready(function() {
$('pre.prettyprint').each(function() {
$(this).css('whitespace','pre-line');
/* Why isnt ^this^ working? */
var code = $(this).html();
// How should I define the following
var element = $(code).find(/* ELEMENTS */);
var attribute = $(code).find(/* ATTRIBUTES */);
var value = $(code).find(/* Values */);
$(element).wrap('<span class="element" />');
$(attribute).wrap('<span class="attribute" />');
$(value).wrap('<span class="value" />');
$(code).find('<').replaceWith('<');
$(code).find('>').replaceWith('>');
});
});
, который пытается отформатировать это:
<code><pre class="prettyprint">
<a href="http://website.com">Visit Website</a>
<a href="#top">Back to Top</a>
в это:
<code><pre class="prettyprint">
<span class="element">a <span class="attribute">href</span>=<span class="value">”http://website.com”</span></span>Visit Website<span class="element">/a</span>
<br/>
<span class="element">a <span class="attribute">href</span>=<span class="value">”#top”</span></span>Back to Top<span class="element">/a</span>
Спасибо заранее!
Вы можете увидеть jsfiddle здесь: http://jsfiddle.net/JamesKyle/L4b8b/