Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Скрыть элементы со страницы

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения, если не в тот раздел.
Вопрос в следующем. Есть на определенной странице список такого плана:

Код:
<li><a href='javascript:void(0)' onClick='action1'>action1</a></li>
<li><a href='javascript:void(0)' onClick='action2'>action2</a></li>
<li><a href='javascript:void(0)' onClick='action3'>action3</a></li>
<li><a href='javascript:void(0)' onClick='action4'>action4</a></li>
<li><a href='javascript:void(0)' onClick='action5'>action5</a></li>
<li><a href='javascript:void(0)' onClick='action6'>action6</a></li>
<li><a href='javascript:void(0)' onClick='action7'>action7</a></li>

Возможно ли и если да, то как, удалить отдельные пункты этого списка? Допустим оставить только пункт action4.
В гугле максимум нашел или по конкретным тегам или по id этих тегов, ни тот, ни другой варианты мне, если я правильно все интерпретировал, не подходят.

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 10:57 13-05-2015
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freewood
может как то по нумерации элементов, если полная страница не динамическая (???)
 
Добавлено:
document.elements[0].xxx

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 16:53 13-05-2015
freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
Спасибо за ответ. Страница динамическая.
Я дилетант в этом вопросе, так что буду рад конкретному тычку в способ реализации (пользовательские скрипты или что-то подобное).

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 17:19 13-05-2015
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freewood
даже если динамическая, в самом конце страницы или в самом начале ?
чтобы иметь точку отсчета
 
если в середине то там то там - плохо.  
а вообще может как то можно поместить в элемент где id известен  ?

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 17:34 13-05-2015
freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
Нет, возможности изменить страницу нет, я как конечный пользователь.
Просто этот список это разные фильтры, которых порядка 20 позиций и отображаются они в небольшом окошке. Хотелось бы их банально убрать для удобства пользования.
Находятся они в центре страницы, одним блоком.
Я возможно упустил некоторые важные вещи, структура данного меню вот такая:

Код:
<div id="asdasd">
<ul class="menulist">
<li><a href='javascript:void(0)' onClick='action1'>action1</a></li>
<li><a href='javascript:void(0)' onClick='action2'>action2</a></li>
<li><a href='javascript:void(0)' onClick='action3'>action3</a></li>
<li><a href='javascript:void(0)' onClick='action4'>action4</a></li>
<li><a href='javascript:void(0)' onClick='action5'>action5</a></li>
<li><a href='javascript:void(0)' onClick='action6'>action6</a></li>
<li><a href='javascript:void(0)' onClick='action7'>action7</a></li>
</ul>
</div>

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 10:15 14-05-2015
vs6262



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
делаете точкой отсчета  id="asdasd" и get Nr. этого элемента
 
а дальше дело техники, элементы нумеруются на странице

Всего записей: 2188 | Зарегистр. 25-02-2013 | Отправлено: 11:30 14-05-2015 | Исправлено: vs6262, 11:39 14-05-2015
freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vs6262
По номеру элемента наврядли возможно, т.к. они зависят от настроек портала и их порядок может меняться. Другими словами, возможно ли удалять элементы по выборке содержащемуся в них тексту?

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 13:12 14-05-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freewood
jquery есть? им проще всего сделать.

Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 19:52 14-05-2015
freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
Как это можно выяснить? Если имеется ввиду, использует ли его ресурс - то нет.
Но на сколько я понимаю, в userscript можно использовать jquery, или нет?

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 11:38 15-05-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freewood
подключить, к примеру, так
http://stackoverflow.com/questions/2246901/how-can-i-use-jquery-in-greasemonkey-scripts-in-google-chrome
 
просто им гораздо проще и можно сделать все в одну строчку
http://jsfiddle.net/opp6b865/

Код:
$(function(){
  var userString = 'action4';
  $('.menulist li:not(:contains('+ userString +'))').hide();      
});

 
иначе нужно делать на чистом javascript (и смотреть, когда он запускается - должен быть запущен когда элемент на странице уже есть)
http://jsfiddle.net/opp6b865/1/

Код:
var div = document.getElementById('asdasd');
var userString = 'action4';
var lis = div.getElementsByTagName('li');
for(var i = 0; i < lis.length; i++)
    if (lis[i].textContent.search(userString) == -1)
        lis[i].style.display = 'none';


Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 20:31 15-05-2015 | Исправлено: Mavrikii, 20:35 15-05-2015
freewood



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
На фидле все нормально отрабатывает, на страничке не хочет (через скрипт с подгрузкой jquery делаю), ощущение, что скрипт в greasemonkey отработывает до того как элементы появятся на странице.

Всего записей: 307 | Зарегистр. 28-12-2008 | Отправлено: 10:57 18-05-2015
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freewood
если делаете jquery, то $(function(){}) это аналог $(document).ready(function(){}) и должно сработать когда DOM страницы подгрузилась.

Всего записей: 15039 | Зарегистр. 20-09-2014 | Отправлено: 20:40 18-05-2015
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Скрыть элементы со страницы


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru