JS скрыть элементы для которых подойдет regexp

Тема в разделе "Другие языки", создана пользователем latteo, 30 июл 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    В документе необходимо найти элемент минимальной вложенност, который будет соответсвовать шаблону, и к его стилям добавить display:none.
    К примеру надо скрыть элемент, который содержит слово Support
    <div id="navigation">
    <ul class="navigation">
    <li style="background-image: none;"><a href="http://www.site.com/" title="site Web Hosting">Home</a></li>
    <li><a href="http://site.com/shared.shtml" title="Web Hosting">Web Hosting</a></li>
    <li><a href="http://site.com/resellers.shtml" title="Reseller Hosting">Reseller Hosting</a></li>
    <li><a href="http://site.com/vps-hosting/">VPS Hosting</a></li>
    <li><a href="http://site.com/dedicated.shtml" title="Dedicated Servers">Dedicated Servers</a></li>
    <li><a href="http://site.com/support.shtml" title="site Support">Support</a></li>
    <li style="margin-right: 0px;"><a href="http://site.com/affiliates.shtml" title="site Affiliate Program">Affiliates</a></li>
    </ul>
    </div>
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    с jquery

    HTML:
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>jQuery</title>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function(){
            $("#navigation li a:contains('Support')").parent().addClass("hide");
        });
        </script>
    
        <style type="text/css">
        <!--
        .hide {
            display:none;
        }
        -->
        </style>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    
        <div id="navigation">
        <ul class="navigation">
        <li style="background-image: none;"><a href="http://www.site.com/" title="site Web Hosting">Home</a></li>
        <li><a href="http://site.com/shared.shtml" title="Web Hosting">Web Hosting</a></li>
        <li><a href="http://site.com/resellers.shtml" title="Reseller Hosting">Reseller Hosting</a></li>
        <li><a href="http://site.com/vps-hosting/">VPS Hosting</a></li>
        <li><a href="http://site.com/dedicated.shtml" title="Dedicated Servers">Dedicated Servers</a></li>
        <li><a href="http://site.com/support.shtml" title="site Support">Support</a></li>
        <li style="margin-right: 0px;"><a href="http://site.com/affiliates.shtml" title="site Affiliate Program">Affiliates</a></li>
        </ul>
        </div> 
    
    </body>
    </html>
    
    
     
    latteo нравится это.
  3. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.401
    Симпатии:
    1.182
    Спасибо!
    Но написав
    Я подразумевал, что заранее не известен тег этого элемента.
     
  4. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    тогда возможно с регулярными выражениями по всем тэгам искать и заменить на нужный html
    HTML:
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>jQuery</title>
        <script type="text/javascript">
            window.onload = parser;
            function parser(){
                document.write(document.getElementsByTagName('body')[0].innerHTML.replace(/>(support)</gi, ' style="display:none;" >$1<'));
            }
        </script>
    
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    
        <div id="navigation">
        <ul class="navigation">
        <li style="background-image: none;"><a href="http://www.site.com/" title="site Web Hosting">Home</a></li>
        <li><a href="http://site.com/shared.shtml" title="Web Hosting">Web Hosting</a></li>
        <li><a href="http://site.com/resellers.shtml" title="Reseller Hosting">Reseller Hosting</a></li>
        <li><a href="http://site.com/vps-hosting/">VPS Hosting</a></li>
        <li><a href="http://site.com/dedicated.shtml" title="Dedicated Servers">Dedicated Servers</a></li>
        <li><a href="http://site.com/support.shtml" title="site Support">Support</a></li>
        <li style="margin-right: 0px;"><a href="http://site.com/affiliates.shtml" title="site Affiliate Program">Affiliates</a></li>
        </ul>
        </div> 
    
    </body>
    </html>
    
    будут скрыты все теги с текстом Support
     
    latteo нравится это.
Статус темы:
Закрыта.