noscript для фильтрации добавить гиперссылки - чистый JavaScript ухудшить - PullRequest
5 голосов
/ 19 ноября 2010

Мой проект использует JavaScript для динамического отображения контента по щелчку гиперссылки. Чтобы сделать его чистым без использования JavaScript, я просто показываю все содержимое страницы и использую гиперссылки и якоря для соединения частей.

Я полагаюсь на jQuery, чтобы идентифицировать щелчок гиперссылки по идентификатору, поэтому без JavaScript мне нужно добавить привязку.

Это хорошее использование noscript? В основном, это всегда добавляет гиперссылку без JavaScript?

<div id="link1">
  <noscript><a href="#link1content"></noscript>
    1. Link Name Here
  <noscript></a></noscript>
</div>

Ответы [ 3 ]

5 голосов
/ 19 ноября 2010

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

Хотя вы не должны использовать noscript для этого.Что-то более похожее на:

<a class="enhanced_in_some_way" href="#link1content">1. Link Name Here</a>

с

jQuery('a.enhanced_in_some_way').click(function (event) {
    var link = this;
    var name = /#([^#]+$)/.exec(link.href);
    do_something_with(name);
    event.preventDefault();

});

…, вероятно, путь вперед.

0 голосов
/ 19 ноября 2010

На самом деле, вам не нужен здесь noscript. По умолчанию укажите место привязки в гиперссылках, и в вашей функции щелчка jQuery или javascript добавьте return false или event.preventDefault();. Это предотвратит переход по ссылке, если включен JavaScript, и приведет к появлению привязки, если она отключена. Вы покрыты в обоих направлениях с минимальными накладными расходами.

0 голосов
/ 19 ноября 2010

Во многих браузерах это будет работать, но я бы не советовал.Он полностью нарушает структуру HTML и не гарантирует работу во всех браузерах или даже будущих версиях браузеров, в которых он сейчас работает.

...