X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Обработка ссылок опираясь на свойства тега
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 28.9.2013, 19:34; Ответить: WebMasterOleg
Сообщение #1


Всем привет. Столкнулся с задачей, с которой справиться не могу. В общем...
Есть код:

<span class="hidden-link-comments" data-link="%1$s">%2$s</span>


В параметр %1$s подставляет УРЛ комментатора. В параметр %2$s его ник. Специально не стал реализовывать через тег ссылок. Есть причины, не спрашивайте. Реализовал через спан.

Есть JQuery код-обработчик тега SPAN. Работает всегда одинаково. Вот он:
$('.hidden-link-comments').click(function(){window.open($(this).data('link'));return false;});


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

Вот в чем траблы. Как сделать так, что если параметр data-link пуст, то тогда поменять параметр class, на любой другой, например hidden-link-no-url? Как подобное реализовать на JQ? У меня не получается. Помогите плиз решить момент этот! Надо как то доработать код так, чтобы он был универсальный, и работал, когда нужно, а не всегда, независимо, указал человек УРЛ или нет.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 28.9.2013, 20:16; Ответить: isvetlichniy
Сообщение #2


как обрабатывать классы для элемента читаем вот тут

а получить значение любого атрибута можно вот так

var datalink = $('.hidden-link-comments').attr('data-link');
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 28.9.2013, 20:33; Ответить: WebMasterOleg
Сообщение #3


[member=isvetlichniy], спасибо, сейчас буду пробовать!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 28.9.2013, 22:21; Ответить: WebMasterOleg
Сообщение #4


Я что то делаю не так?
$('.hidden-link-comments').click(function(){window.open($(this).data('link'));return false;});
var className = $('#link-comments').attr('class');
var datalink = $('.hidden-link-comments').attr('data-link');
if (datalink == '') {
  $('#link-comments').toggleClass('hidden-link-no-url');
  }


а ну и соответственно
<span id="link-comments" class="hidden-link-comments" data-link="%1$s">%2$s</span>


не присваивает(( пытаюсь еще подумать...

if (datalink == "") {
  $('#link-comments').removeClass().toggleClass('hidden-link-no-url');
  }

тоже нет...

Ведь все верно в первый раз, если datalink равна пустоте (пробовал false), то присвоить нужно новый класс. Почему то не пашет... Я плохо разбираюсь...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 28.9.2013, 22:45; Ответить: WebMasterOleg
Сообщение #5


может надо для прямо в самом цикле PHP где происходит вывод комментариев прям там писать условия, чтобы для каждого комментария data-link имела атрибут?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 28.9.2013, 22:49; Ответить: isvetlichniy
Сообщение #6


попробуй вывести промежуточные значения для тестирования ну и класс удаляй/добавляй немного по другому
$('.hidden-link-comments').click(function(){window.open($(this).data('link'));return false;});
var className = $('#link-comments').attr('class');
var datalink = $('.hidden-link-comments').attr('data-link');

alert(className);
alert(datalink);

if (datalink == '') {
  $('#link-comments').toggleClass('hidden-link-no-url');
  }


дальше, смотри в консоли ошибок, нету ли каких то ошибок

и еще, что это за элемент с id = link-comments
он вообще существует?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 28.9.2013, 23:06; Ответить: WebMasterOleg
Сообщение #7


ну да, это строка, тот самый спан, в котором нужно классы поменять.
<span id="link-comments" class="hidden-link-comments" data-link="%1$s">%2$s</span>


Сейчас попробую. Делал уже с даталинк, вывел пустое окно.

alert(className);


это вытащило названия класса, а даталинк как всегда вышел пустой. Точнее в окне был только класс SPAN'a

надо собрать даталинк со всех комментариев!!! Надо впихать в цикл и чтобы распределилось каждое значение, и вывелось с новой строки например. Как это сделать? с for??

я не знаю как..(( поробовал ни че не пашет... я не соображаю в программировании...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
WebMasterOleg
WebMasterOleg
Topic Starter сообщение 29.9.2013, 8:20; Ответить: WebMasterOleg
Сообщение #8


Ребят, помогите кто нибудь условие написать, плиз... Я использую вордпресс.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
isvetlichniy
isvetlichniy
сообщение 29.9.2013, 12:41; Ответить: isvetlichniy
Сообщение #9


что ты хочешь получить в итоге? опиши свою задачу и конечный результат
есть куча плагинов для комментариев, не пробовал искать готовые решения?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
c0ns0l3
c0ns0l3
сообщение 29.9.2013, 13:19; Ответить: c0ns0l3
Сообщение #10


<!DOCTYPE HTML>
<html>
    <head>
     <meta http-equiv="content-type" content="text/html" />
     <meta name="author" content="c0ns0l3" />
     <title>Untitled 1</title>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
        <!-- Вариант №1 через jQuery как Вы хотели-->
        <script>
            (function($){
                $(document).ready(function(){
                    $('span.link-comments').each(function(i){
                        el = $(this);
                        el_link = el.attr('data-link');
                        if(el_link && el_link.length>5) {
                            $(this).addClass('visible-link-comments');
                        }else {
                            $(this).addClass('hidden-link-comments');
                        }
                      
                    });
                });
            })(jQuery)
        </script>
        <!-- Вариант №2 через CSS-->
        <style>
            .link-comments[data-link ^= "http"] {background: #39a4ff;}
        </style>
    </head>
  
    <body>
        <style>
            .hidden-link-comments {background: #ff5a5a}
            .visible-link-comments {background: #39a4ff;}
        </style>
        <span class="link-comments" data-link="">Empty Link</span>
        <span class="link-comments" data-link="http://masterwebs.ru">http://masterwebs.ru</span>
        <span class="link-comments" data-link="%1$s">Wrong Link</span>
    </body>
</html>


Вариант №3:
Если вы уже форматируете при помощи РНР, то почему бы вообще не выводить целый SPAN?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
37 2Index 6536 Вчера, 16:17
автор: 2Index
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыGogetTop.net - сервис аренды ссылок с сети PBN адалт тьюбо
1 Crimean 1429 11.4.2024, 10:05
автор: Crimean
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыРучное размещение вечных ссылок и статей на хороших площадках
Опыт 10 лет!
420 leonidukg 274482 8.4.2024, 12:06
автор: leonidukg
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыКрауд-маркетинг. Ручное размещение ссылок под бурж с гарантией
24 seolink.orders 12883 2.4.2024, 17:23
автор: seolink.orders
Открытая тема (нет новых ответов) Сайт не индексируется в Google без добавления ссылок в адурилку
4 Nekit 1073 20.3.2024, 21:44
автор: MorKer


 



RSS Текстовая версия Сейчас: 16.4.2024, 9:25
Дизайн