Проверка блоков и удаление при не соответсвии
Здравствуйте, недавно я решил написать код на JS, и пока не очень сильно разбираюсь что да как.
Мне нужно написать код, который будет на нужной мне страницы проверять блок и смотреть если в этом блоке нужное для меня слово, если оно там одно и больше ничего, то оставить этот блок и перейти к другому. Если кроме нужного для меня слова там есть еще одно или несколько других, то удалить этот блок и перейти к другому. Как такое можно реализовать? Спасибо за помощь! |
Прошу помощи.
Друзья, помогите пожалуйста, уже третий день мучаюсь читая разные статьи.
Есть сайт с 20-ю div одинакового названия, в каждом из них есть другие подклассы и итог с нужным для меня словом(оно есть в каждом диве). Мне нужно написать скрипт, который будет проверять каждый див и смотреть, если в этом диве только нужное для меня слово и всё, то оставить этот див и перейти к другому, если в другом будет не только нужное для меня слово, но и еще другие слова, то удалить этот див. И так с каждым. Помогите пожалуйста! |
KEX,
html где до и после минимальный |
<div class="tradepoll">
<div class="tradecnt"> <form class="left"> (в классе left, надо проверять и 'oitm marketPriced' и 'oitm' <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Нужный для меня текст</b> (такой текст есть в каждом 'oitm marketPriced' или 'oitm', но он там есть если вообще должен быть, если он не должен быть, то и соответственно его там не будет. Мне нужно, что JS проверял каждый из 20-и <div class="tradepoll"> на наличие других кроме нужного для меня текста, если есть, то удалить этот блок, а если только подблок с моим текстом и все, то не удалять, а просто перейти проверять следующий. Спасибо |
KEX,
не осилил увы, чёткого алгоритма небыло и нет, что и как удалять и Пожалуйста, отформатируйте свой код! Для этого его можно заключить в специальные теги: js/css/html и т.п., например: [js] ... ваш код... [/js] О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting. |
<div class="tradepoll"> // на сайте таких div'ов 'tradepoll' - 20 штук <div class="tradecnt"> <form class="left"> // (в классе left, надо проверять и 'oitm marketPriced' и 'oitm' <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Нужный для меня текст</b> такой текст есть в каждом 'oitm marketPriced' или 'oitm', но он там есть если вообще должен быть, если он не должен быть, то и соответственно его там не будет. Мне нужно, что JS проверял каждый из 20-и <div class="tradepoll"> на наличие других слов кроме нужного для меня, если JS находит в этом блоке другие слова, кроме нужных мне, то он удаляет этот блок, а если не находит, то оставляет как есть. |
KEX,
спасибо за форматирование ... но вы уже трижды повторили одно и тоже, что видимо не может понять, пока никто, кроме вас иначе бы давно подсказали, может как-то по другому сформулировать. Цитата:
|
Я понимаю, что объясняю я не очень доходчиво. Но я стараюсь это сделать, давайте попробуем еще раз.
1 - Есть сайт, на котором расположены 20 блоков, с так скажем "предметами" в каждом блоке и у каждого предмета есть своё имя. 2 - Мне нужно, чтобы JS проверял каждый из этих блоков. И если он видит, что кроме нужного для меня "предмета" в этом блоке есть другой "предмет", то JS удаляет этот блок со страницы. 3 - Если же в блоке кроме моего "предмета" больше ничего нету, то JS ничего не делает с этим блоком, а идет проверять оставшиеся 19. |
KEX,
<script> var text = ['яблоко']; </script> <div>яблоко</div> <div>груща</div> <div>помидор</div> див с яблоко оставить, остальные удалить ... как-то бы так ... что-ли |
<script> var text = ['яблоко']; </script> <div>яблоко</div> <div>яблоко, груша</div> <div>помидор</div> А что будет с тем div, где есть и нужный мне предмет и еще один? |
Вложений: 2
Прикрепляю картинки для большей понимаймости
Как видите на первом скрине, я имею много дивов tradepoll В каждом есть моё слово, допустим Slovo, но не во всех tradepoll только моё слово и больше ничего, могут быть и другие слова, допустим Knife(как в картинке). И если замечены, другие кроме "Slovo", мне надо удалять эти блоки. |
Цитата:
|
Как вы поняли, в этом я практически не разбираюсь, поэтому и прошу помощи, хотяб наброски.
|
KEX,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-1.11.3.min.js"> </script> <script> $(function () { var market = $('.marketPriced'); market.each(function(indx, el){ $('.name > b',el).text() != 'Slovo' && $(el).remove() }); }); </script> </head> <body> <div class="tradepoll"> <div class="tradecnt"> <form class="left"> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Slovo</b> </div> </div> </div> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Knife</b> </div> </div> </div> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Slovo</b> </div> </div> </div> </form> </div> </div> <div class="tradepoll"> <div class="tradecnt"> <form class="left"> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Slovo</b> </div> </div> </div> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Knife</b> </div> </div> </div> <div class="oitm marketPriced"> <div class="oitm"> <div class="name"> <b>Slovo</b> </div> </div> </div> </form> </div> </div> </body> </html> |
Это не совсем то, что мне нужно.
Может можно как нибудь сделать так, JS будет проверять на количество подблоков в div. И если их больше 1-ого, то удалять этот блок?) Поможете? Спасибо! |
KEX,
:-? $(function () { $('.marketPriced:nth-child(n+2)').remove(); }); |
Уже что-то работает, спасибо огромное!
Но есть недочет, ваша функция работает только с классом div? Как сделать, чтобы чтобы и с form class тоже работала?) |
KEX,
изучайте css и jquery делайте с дочётами ![]() |
Часовой пояс GMT +3, время: 15:02. |