Как изменить href для гиперссылки, используя jQuery

Выбрать * - это антиспам SQL. Он не должен использоваться в производственном коде по многим причинам, включая:

Для обработки требуется немного больше времени. Когда дела идут миллионы раз, эти крошечные биты могут иметь значение. Медленная база данных, где медленность вызвана этим типом неаккуратного кодирования, является самым сложным способом настройки производительности.

Это означает, что вы, вероятно, отправляете больше данных, чем вам нужно, что вызывает как узкие места в сети, так и сети. Если у вас есть внутреннее соединение, вероятность отправки большего количества данных, чем вам нужно, составляет 100%.

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

Он может разбивать представления (я знаю, что это верно на сервере SQl, это может быть или не быть истинным в mysql).

Если кто-то достаточно глуп, чтобы перестроить таблицы со столбцами в порядке differnt (который вы не должны делать, но это происходит все время), всевозможные коды могут сломаться. Например, код для вставки, например, когда вы помещаете город в поле address_3 becasue без указания, база данных может идти только по порядку столбцов. Это довольно плохо, когда типы данных меняются, но хуже, когда обменные столбцы имеют один и тот же тип данных, потому что вы можете пойти на то, чтобы вставлять плохие данные, которые являются беспорядком для очистки. Вам нужно заботиться о целостности данных.

Если он используется во вставке, он сломает вставку, если новый столбец будет добавлен в одну таблицу, а не другую.

Он может сломать триггеры. Проблемы с триггером могут быть трудно диагностировать.

Добавьте все это против времени, необходимого для добавления в именах столбцов (черт возьми, вы даже можете иметь интерфейс, который позволяет перетаскивать имена столбцов (я знаю, что я делаю в SQL Server, d есть какой-то способ сделать это - это какой-то инструмент, который вы используете для написания запросов mysql.) Давайте посмотрим: «Я могу вызвать проблемы с обслуживанием, я могу вызвать проблемы с производительностью, и я могу вызвать проблемы с целостностью данных, но эй, я сохранил пять минут dev time. "Действительно просто введите конкретные столбцы, которые вы хотите.

Я также предлагаю вам прочитать эту книгу: http://www.amazon.com/SQL-Antipatterns-Programming-Pragmatic- ? Программисты-книга / дп / B00A376BB2 / исх = sr_1_1 s = цифровой текст и усилитель, то есть = UTF8 & амп; QID = 1389896688 & амп; ср = 1-1 & амп; ключевые слова = SQL + antipatterns

1202
задан John Slegers 22 January 2016 в 20:19
поделиться

3 ответа

Используя [1 114]

$("a").attr("href", "http://www.google.com/")

изменит href всех гиперссылок для указания на Google. Вы, вероятно, хотите несколько более усовершенствованный селектор все же. Например, если у Вас есть соединение источника ссылки (гиперссылка) и цель ссылки (иначе "привязка") теги привязки:

<a name="MyLinks"></a>
<a href="http://www.codeproject.com/">The CodeProject</a>

... Тогда Вы, вероятно, не хотите случайно добавлять href атрибуты к ним. Для безопасности тогда, мы можем определить, что наш селектор будет только соответствовать <a> теги существующему href атрибут:

$("a[href]") //...

, Конечно, у Вас, вероятно, будет что-то более интересным в памяти. Если Вы хотите соответствовать привязке определенному существующему href, Вы могли бы использовать что-то вроде этого:

$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')

Это найдет ссылки где href точно соответствия строка http://www.google.com/. Более включенная задача могла бы соответствовать, затем обновляя только часть href:

$("a[href^='http://stackoverflow.com']")
   .each(function()
   { 
      this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/, 
         "http://stackoverflow.com");
   });

первая часть выбирает только ссылки, где href запускается с [1 112]. Затем функция определяется, который использует простое регулярное выражение для замены этой части URL с новым. Отметьте гибкость, которую это дает Вам - любой вид модификации к ссылке мог быть сделан здесь.

1744
ответ дан lucasreta 22 January 2016 в 20:19
поделиться

В зависимости от того, хотите ли Вы изменить все идентичные ссылки на что-то еще, или Вы хотите управление просто те в данном разделе страницы или каждого индивидуально, Вы могли сделать один из них.

Изменение все ссылки на Google, таким образом, они указывают на Google Maps:

<a href="http://www.google.com">

$("a[href='http://www.google.com/']").attr('href', 
'http://maps.google.com/');

Для изменения ссылок в данном разделе добавьте класс контейнерного отделения к селектору. Этот пример изменит ссылку Google в содержании, но не в нижнем колонтитуле:

<div class="content">
    <p>...link to <a href="http://www.google.com/">Google</a>
    in the content...</p>
</div>

<div class="footer">
    Links: <a href="http://www.google.com/">Google</a>
</div>

$(".content a[href='http://www.google.com/']").attr('href', 
'http://maps.google.com/');

Для изменения отдельных ссылок независимо от того, где они падают в документе добавьте идентификатор к ссылке и затем добавьте что идентификатор к селектору. Этот пример изменит вторую ссылку Google в содержании, но не первую или ту в нижнем колонтитуле:

<div class="content">
    <p>...link to <a href="http://www.google.com/">Google</a>
    in the content...</p>
    <p>...second link to <a href="http://www.google.com/" 
        id="changeme">Google</a>
    in the content...</p>
</div>

<div class="footer">
    Links: <a href="http://www.google.com/">Google</a>
</div>

$("a#changeme").attr('href', 
'http://maps.google.com/');
38
ответ дан flamingLogos 22 January 2016 в 20:19
поделиться

Используйте attr метод на Вашем поиске. Можно выключить любой атрибут с новым значением.

$("a.mylink").attr("href", "http://cupcream.com");
74
ответ дан Peter Shinners 22 January 2016 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: