$('body')[0].attributes // ^ // | в этой точке мы понимаем, что jquery бесполезен // | и лезем к данным через DOM API // | при этом получаем мы NamedNodeMap, // | который даже forEach не поддерживает |
задача по сложнее: как с помощью jquery обрамить все вхождения слова "jquery" тэгами <my_found>
|
> jQuery легко делает то чего не может
jMünchhausen) |
Цитата:
Array.prototype.slice.call( attributes ).forEach ... Цитата:
Цитата:
|
Цитата:
который не будет оборачивать в гламурный объект наш чистенький элемент. $.find("body").attributes; Цитата:
так, чтобы не посбивались обработчики (addEventListener, не делегированные) и ссылки на существующие элементы, которые существуют наравне с обычным текстом. |
Цитата:
Array.prototype.forEach.call( attributes,.. |
<head> <style> my_found { background: gray; } </style> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> jQuery(function ($) { $('body').find(':contains("jquery")').contents() .filter(function () { return this.nodeType == 3; }) .each(function () { var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>'); $(this).replaceWith(str); }); $('body').contents().each(function () { if (this.nodeType == 3 && this.nodeValue.indexOf('jquery') != -1) { var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>'); $(this).replaceWith(str); } }); alert($('body').html()); }); </script> </head> <body> <div onclick="alert(1)">jquery text1</div> jquery <span onclick="alert(2)"> text2 <span onclick="alert(3)"> text3 jquery <button>jquery text</button> </span> </span> </body> <head> <style> my_found { background: gray; } </style> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> jQuery(function ($) { $('body').find(':contains("jquery")').contents() .filter(function () { return this.nodeType == 3; }) .add ($('body').contents() .filter(function () { if (this.nodeType == 3 && this.nodeValue.indexOf('jquery') != -1) { return this; } }) ).each(function () { var str = this.nodeValue.replace(/(jquery)/g, '<my_found>$1</my_found>'); $(this).replaceWith(str); }); alert($('body').html()); }); </script> </head> <body> <div onclick="alert(1)">jquery text1</div> jquery <span onclick="alert(2)"> text2 <span onclick="alert(3)"> text3 jquery <button>jquery text</button> </span> </span> </body> |
Кстати еще jQuery не умеет делать операции с большими числами..
А так же не умеет складывать числа и умножать их... Как например мне получить половину от количества букв во втором по алфавиту атрибуте пятого элемента в наборе?? может ли такое jQuery ??? вот и я про то!! tenshi, хватит херню пороть я те сказал что jQuery нужна для работы с DOM и она умеет ВСЕ для работы с DOM и даже больше. п.с. $('ololo').width() тоже возвращает не jQuery обьект, а число, это является прямым доказательством что jQuery не может работать с числами!! и дать нам например половину от ширины.. Нам придется это делать РУКАМИ, ЗА пределами jQuery!!!!1 а вдруг число дробное и нам нужны точные вычисления? jQuery так не умеет. Я думаю jQuery говно. |
Цитата:
|
Прости я не понял о че то о каком оборачивнии? тред особо не читал)
|
Часовой пояс GMT +3, время: 12:53. |