2012-08-26 22 views
0

我有一些jQuery全局變量,我只想把它放到我的HTML文檔中,這樣當它們通過某個更新函數進行更新時,它們就會在每個地方更新,自動引用全局。這將使我無法編寫更新文本的函數。如何在我的HTML頁面中使用jQuery全局變量?

基本上我想這樣做:

<html> 
<head> 
    <script> 
     var globalVariable= "something"; 
    </script> 
</head> 
<body> 
    <p>The jQuery global variable is equal to: $(globalVariable)</p> 
<body> 
</html> 

這會甚至工作?當他們在jQuery中更新時,他們會在頁面中更新嗎?

回答

1

你不能做到這一點jQuery中,這個功能最好是使用MVC或MVVM框架,我會建議knockout.js(HTTP:// knockoutjs。使用它將變量綁定到DOM元素非常容易:

<span data-bind="text: myVariable "></span> 
+0

你不能直接使用jQuery,但JsViews + JsRender旨在允許你添加模板和雙向數據綁定到一個jQuery應用程序(雖然它們也可以自己使用)。 –

+0

這看起來可能是最好的選擇。 – Jon

0

不,你不能這樣做。更好的方法是將你的varibale插入像div這樣的佔位符。賦予它們類並在每次變量變量時調用該函數以將該div中的值替換爲命名類。

$(".classname").html("changed text") 

HTML:

<div class="classname">some value</div> 
+0

更好的辦法是使用數據綁定,如jBind或jsViews。 –

0

這樣你的意思是:演示http://jsfiddle.net/v8v9m/

希望它符合需求:)

代碼

var globalVariable= "something"; 

updateme(globalVariable); 

$('#foo').click(function(){ 
     updateme("HULK"); 

}); 
function updateme(bar){ 
$('#hulk').html(bar); 
} 
​ 

HTML

<html> 
<head> 
    <script> 

    </script> 
</head> 
<body> 
    <p>The jQuery global variable is equal to:<laspanle id="hulk"></span></p> 
<body> 


    <input type="button" value="Update something to hulk" id="foo" /> 
​