2016-01-04 2 views
1
эксперт

Javascript это мой шаблон кодирования:нужно Javascript Если последовательность соответствует структуре HTML-

<html> 

<head>   
</head> 

<body> 

<div id='top'> 
    <h2> This is my website headline </h2> 
</div> 


<div class='outer-wrapper'> 
    <h3>This is content area for main blog </h3> 
</div> 


<div class='footer'> 
    <h4> This is footer content area </h4> 
</div> 


<!--Copyright Structure Start--> 

<div id='copyright'> 
    <div id='container'> 
    <p>Copyright 2016. Designed By <a href='#'>Company</a> 
     </p> 
     </div> 
    </div> 

<!--Copyright Structure End--> 


</body> 
</html> 

я имею ниже структуру HTML, который используется в шаблоне.

<div id='copyright'> 
    <div id='container'> 
    <p> Designed By <a id='doom' href='http://www.example.com'>Company</a> 
     </p> 
    </div> 
    </div> 



Случай 1: Теперь я хочу, если та же последовательность существует #copyright> #container> р> а # дум в HTML-структуры внутри шаблона Тогда его нормально, если они есть, если они удалены, то перенаправите мою страницу на example.com.

<div id='copyright'> 
     <div id='container'> 
     </div> 
     </div> 

Смотрите выше структура не имеет <p></P> тега, теперь он должен быть перенаправлен.




Случай 2: Если добавляется дополнительный другой HTML тег внутри моей HTML структуры в шаблоне, а не этими метками: #copyright #container P и # дум. то он также должен быть перенаправлен.

<div id='copyright'> 
    <div id='container'> 
    <div id='wrap'> 
    <p> Designed By <a id='doom' href='http://www.example.com'>Company</a> 
     </p> 
    </div> 
    </div> 
</div> 

См структура имеет дополнительную Div обертку теперь он должен перенаправлены на example.com, поскольку он не соответствует последовательности.

Я надеюсь, что скоро кто-то даст сценарий. Благодарю.

+0

«Тогда это нормально, если есть, если они удалены, а затем перенаправить мою страницу на example.com». - Можете ли вы уточнить? – Hybrid

+0

@Hybrid yes, и если добавлен другой тег внутри этой структуры html, он также должен быть перенаправлен, как вы видите в примере 2: мы добавили div wrap теперь, он должен быть перенаправлен, если кто-то добавит дополнительный html-тег внутри структуры html. – bradly

+1

, в этот момент выполнения кода эти проверки должны входить в изображение. Например; есть ли кнопка подтверждения или подтверждения на вашей странице, которую вы хотите, чтобы DOM получил подтверждение? или которая является той точкой запуска? – vijayP

ответ

0

Вы можете просто использовать селектор в JQuery и проверить длину. Если изменить HTML, селектор не будет соответствовать, а не перенаправлять:

Выполнить это когда HTML загружен (OnLoad или domReady):

if($('#copyright > #container > p > a#doom').length == 0) { 
    alert("Redirect"); 
} 

Пример скрипку: https://jsfiddle.net/feb5zex2/

+0

привет, @MasNotsram ваш код работает, если какой-либо из этого html-тега удален из html-структуры ... однако все еще что-то не хватает, я добавляю дополнительный div в эту структуру html, тогда он не перенаправляет ... как то, что я сказал в случае 2 выше. вы можете увидеть его здесь вживую: https://jsfiddle.net/feb5zex2/5/ – bradly

0

Вы в основном хотите запустить этот код, когда документ будет готов (1 линии), и если конкретный селектор CSS с прямыми комбинациями предков не соответствует (2 линии), перенаправлять с использованием window.location. replace() (3. строка).

$(document).ready(function() { 
    if ($("#copyright > #container > p > a#doom").length == 0) { 
     window.location.replace("http://www.example.com"); 
    } 
}) 
+0

ваш код работал отлично, отсутствует какой-либо тег в этой структуре html, однако он не работает, если я добавлю дополнительный div в структуру html. .check здесь: https://jsfiddle.net/feb5zex2/5/ – bradly

+0

Справа. Селектор выше проверяет, существует ли цепочка элементов. Он не проверяет, есть ли другие дополнительные элементы рядом с этой иерархией. Похоже, вы скорее хотите сравнить весь HTML внутри #copyright. С другой стороны, действительно ли это необходимо? Вы не можете эффективно заставить людей хранить ваше примечание по авторскому праву, кроме как доверять им и проверять время от времени самостоятельно. Если это коммерческая тема WP или что-то вроде этого, я бы лучше проверить, существует ли название вашей компании и/или ссылка на любой странице. Но даже тогда люди всегда могут редактировать ваш JS. –

+0

да вы понимаете это ... приятель есть ли какой-либо скрипт, который проверяет всю структуру #copyright, если он такой же, как я разделял выше, тогда это нормально, но если в #copyright добавлен любой html-тэг, то перенаправляйте страницу ..благодаря. – bradly

Смежные вопросы