Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться с скриптом (https://javascript.ru/forum/misc/50843-pomogite-razobratsya-s-skriptom.html)

MASTER31 14.10.2014 04:58

Помогите разобраться с скриптом
 
Доброго времени суток уважаемые.
Нашел данный скрипт который заменяет одно на другое, например мне нужно было бы чтобы находил ссылку в сообщении на форуме и заменял ее на слово типа "ссылка".
Поставил так как сейчас стоит и никаких действий не происходит.
Исправьте пожалуйста скрипт,если что в нем не так, так как я правда не сильно в скриптах силен ... Спасибо..

сам скрипт

<script> 
function UniverСhange(selektor,changed,substitute){ 
$(selektor).each(function(){if ($(this).parent().html()!=null){if($(this).parent().html().indexOf(changed)!=-1){ 
$(this).parent().html($(this).parent().html().replace(changed,substitute));};};});} 
UniverСhange("td.posttdMessage ","http://","Ссылка");  
</script>

рони 14.10.2014 10:01

Цитата:

Сообщение от MASTER31
Поставил так как сейчас стоит и никаких действий не происходит.

куда именно ? готовность страницы учитываите?

MASTER31 14.10.2014 19:43

рони,Ну например устанавливаю в шаблон перед /boby страниц сайта и ничего не происходит ссылка на страницу ВОТ
скрин что он делал и почему пришлось пока убрать. Он резал аватарки и с ссылками ничего не происходило


ruslan_mart 14.10.2014 20:28

Говнокодерство. :-E

Зачем 10 раз прогонять this в jQuery, получать родителя и его html? В переменную нельзя засунуть?

$(function() { 
    $('td.posttdMessage').each(function() {
        var elem = this.parentNode,
            html = elem.innerHTML;
        if(html) elem.innerHTML = html.replace(/https?\:\/\/[^\s\r\n]+/gim, 'Ссылка');
     });
});

MASTER31 14.10.2014 20:30

Цитата:

Сообщение от Ruslan_xDD (Сообщение 335509)
Говнокодерство. :-E

Зачем 10 раз прогонять this в jQuery, получать родителя и его html? В переменную нельзя засунуть?

Дело в том что я в таких скриптах не понимаю еще, вот и решил обратиться за помощью к вам

MASTER31 14.10.2014 21:24

Цитата:

Сообщение от Ruslan_xDD (Сообщение 335509)
Говнокодерство. :-E

Зачем 10 раз прогонять this в jQuery, получать родителя и его html? В переменную нельзя засунуть?

$(function() { 
    $('td.posttdMessage').each(function() {
        var elem = this.parentNode,
            html = elem.innerHTML;
        if(html) elem.innerHTML = html.replace(/https?\:\/\/[^\s\r\n]+/gim, 'Ссылка');
     });
});

К глубочайшему сожалению не работает. Точнее ломаетвсе поле с сообщениями и убирает картинки

MallSerg 14.10.2014 21:58

Этот скрипт работает так как и задумывалось.
НО есть мнение что вы не разбираетесь в HTML и JS
По этому сверлите воду и удивляетесь почему нет дырочек

пальцем в небо но скорее всего требуется найти все теги <a> в элементах "td.posttdMessage" и заменить у них src атрибут
$('td.posttdMessage a').each(function() {
this.src = "http://gogle.ru";
this.innerHTML = "Новый текст в ссылке";
})

MASTER31 14.10.2014 22:12

MallSerg,
Спасибо ОГРОМНОЕ... Помогло

MASTER31 14.10.2014 22:59

MallSerg,
А Вы можете в этом скрипте сделать так чтобы он не видел ссылки с классном class="ulightbox", так как на них стоят системные картинки и они также спрятались под описание

MallSerg 14.10.2014 23:09

$('td.posttdMessage a:not(#ulightbox)').each( ....


Часовой пояс GMT +3, время: 13:32.