Я знаю, что область видимости в javascript иногда жесткая, но на этот раз я подозреваю, что проблема может быть исполнением jQuery. В следующем коде я пытаюсь определить простой HTML-элемент (имитирует кнопки) в JavaScript и передать другой текст к нему при установке его в HTML с помощью JQuery:странная переменная scope в jQuery
var name;
var buttonsecondary = '<div class="buttonsecondary clicked"><p>'+name+'</p></div>';
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="content-item" id="things4">
<a href="aFabrica.html">
<div class="itemHome">
<div class="bg" id="buttonsecondaryfabrica"></div>
<script>
$(document).ready(function() {
var name = "A Fábrica";
$("#buttonsecondaryfabrica").after(buttonsecondary)
})
</script>
</div>
</a>
</div>
<div class="content-item">
<a href="lojas.html">
<div class="itemHome">
<div class="bg" id="buttonsecondaryloja"></div>
<script>
$(document).ready(function() {
var name = "Loja";
$("#buttonsecondaryloja").after(buttonsecondary)
})
</script>
</div>
</a>
</div>
Проблема заключается в том, что Я получаю тот же текст на обеих кнопках: «Store», хотя в первом предупреждении появляется «Улица» и во втором «Магазине» ... Кто-нибудь знает, как это объяснить?
Возможно, вам придется добавить кнопки в DOM с помощью анонимной функции. –
@atmd: Или еще лучше, фрагмент стека здесь, на месте. –
его, потому что вы меняете 'name' и' buttonsecondary' остаетесь неизменными –