2011-01-30 1 views
0

Если я опознаю x, я смогу увидеть значение. Но из приведенного ниже кода я не могу добавить значение в #result. Что я делаю не так.jquery append var

<div id="result"></div> 
<button id="more">more</button> 
<script type="text/javascript"> 

var x = 'abcde'; 
var y = x.substring(0,2);  
$('#more').click(function(){ 
$('#result').append(x); 
});   

</script> 
+0

Вы пробовали поместить свой скрипт внутри '$ (document) .ready()'? – alexn

+0

Как я могу обойтись без него. – Hussein

+2

Ваш код работает нормально. http://jsfiddle.net/SLaks/UAQLN/ – SLaks

ответ

0

Если мы хотим, чтобы этот образец кода был один, тогда ответ: «У вас нет элемента с идентификатором« больше », чтобы нажать« ».

При этом вы, вероятно, получили слишком уменьшенный тестовый пример, который не показывает, что указанный элемент появляется после элемента <script>, поэтому не существует, когда скрипт запускается и пытается назначить обработчик события.

+0

Я обновил код выше кнопкой #more – Hussein

+0

Этот пример работает для меня. – Quentin

2

Редактировать: Oops, ваш код работает. Я должен был протестировать это, мое плохое. +1 к SLaks


Вы должны поместить свой код внутри $(document).ready(function() { });. Прочтите here, чтобы узнать, почему.

<a href="#" id='more'>More</a> 
<div id="result"></div> 
<script type="text/javascript"> 
$(document).ready(function() { 
    var x = 'abcde'; 
    var y = x.substring(0,2);  
    $('#more').click(function(){ 
    $('#result').append(x); 
    });   
}); 
</script> 

W/O документ готов - http://jsfiddle.net/Z2EjD/ -

<a href="#" id="more">More</a> 
<div id="result"></div> 
<script type="text/javascript"> 

var addToMore = function addToMore() { 
    var x = 'abcde'; 
    var y = x.substring(0,2);  
    $('#result').append(x);  
} 

$("#more").click(addToMore); 
</script> 

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

+0

Как я могу обойтись без документа. – Hussein

+0

Я думаю, вы могли бы сделать его функцией, а затем называть его, когда вы нажимаете «#more». Я уточню свой ответ. – Andrew

+0

Пример действительно работает. он просто не работал локально из-за космической проблемы. Нет необходимости в функции. +1 за ответ спасибо. – Hussein

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

  • Нет связанных вопросов^_^