2011-01-30 11 views
0

私が警告するならば、私は値を見ることができます。しかし、下のコードから、私は#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

このコードサンプルだけでは、「あなたはidを持つ要素がありません」というメッセージが表示されます。

これは、上記の要素が<script>要素の後に現れることを示さないテストケースが過度に減少している可能性があります。そのため、スクリプトが実行されてもイベントハンドラを割り当てようとしません。

+0

ボタン#moreを使用して上記のコードを更新しました – Hussein

+0

その例は私にとってはうまくいきます。 – Quentin

2

編集:お使いのコードが動作します。私はそれをテストしなければならない、悪い。 +1からSLAK


$(document).ready(function() { });の内部にコードを入れる必要があります。理由を調べるにはhereを読んでください。向上させることができるかもしれない

<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> 

からhttp://jsfiddle.net/Z2EjD/ -/O文書準備W

<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> 

。もし誰かが気がついたら、コメントしてください。

+0

ドキュメントを準備しないとどうすればいいですか? – Hussein

+0

私はあなたがそれを関数にすることができたと思うし、 '#more'をクリックするとそれを呼び出します。私は私の答えを更新します。 – Andrew

+0

この例は実際に動作しています。スペースの問題のためにローカルで作業していないだけでした。機能は必要ありません。答えに+1してください。 – Hussein