Как добавить переменную в href - PullRequest
1 голос
/ 23 января 2010

Мне нужно что-то вроде этого:

var link = " http://www.google.com";

<a href='link' />

Так что мне нужно использовать переменную в качестве href атрибута ссылки. Возможно ли это?

Работает с "<a href= '" + link + "' />". Есть ли лучший способ?

Ответы [ 4 ]

3 голосов
/ 23 января 2010

Вы должны установить значение href на сервере, это плохой дизайн, чтобы использовать сценарии для этого.

Однако, чтобы ответить на вопрос, это можно сделать с помощью скрипта, чтобы установить свойство href элемента A, когда он находится в DOM, например ::

<a href="<a useful URI if javascript not available>" id="a0">foo</a>

<script type="text/javascript">
  var a = document.getElementById('a0');
  if (a) {
    a.href = "http://www.google.com";
  }
</script>

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

-- 
Rob
0 голосов
/ 23 января 2010

Вы используете Jetpack, поэтому вы можете сделать <a href={link}/>.toXMLString().

Если все, что вы хотите сделать, это создать элемент <a/>, используйте следующее.

var anchor = document.createElement("a");
anchor.href = link;
0 голосов
/ 23 января 2010

Если вы на самом деле пишете обе эти строки кода, было бы намного проще использовать write

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

В противном случае вам нужно будет использовать JavaScript для установки свойства href вашей ссылки, для чего потребуется получить ссылку на него (что означает, что вы должны установить его свойство id).

Чтобы вы могли написать что-то вроде:

<a id="myLink">Google</a>

и в вашем JavaScript есть:

document.getElementById("myLink").href=link

но сначала подумайте, действительно ли это необходимо (или укажите более подробную информацию в своем вопросе).

0 голосов
/ 23 января 2010

При использовании jQuery это будет

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

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

...