2014-07-09 33 views
-1

我有一個應用程序和不同的JavaScript文件。我如何訪問其他JavaScript var

從HTML我想能夠從這些不同的JavaScript文件訪問變種。

我應該怎麼做?

例JAVASCRIPT:

var one = { 
    att1: 'myString1', 
    att2: 'myString2' 
    ... 
}; 

var two = { 
    att1: 'myString3', 
    att2: 'myString4', 
    ... 
}; 

例HTML:

<meta name="viewport" content="width=device-width, initial-scale=1"> 
<script type="text/javascript" charset="utf-8" src="js/idiomas.js"></script> 
<script type="text/javascript" src="jqueryMobile/jquery-1.11.0.js"/></script> 
...... 

編輯:

對不起,錯過了一個部分。這是我嘗試訪問數據的地方:

<script type="text/javascript"> 
    var atrib1 = document.getElementById("idAtr1"); 
    var atrib4 = document.getElementById("idAtr4"); 
    ..... 
    atrib1.innerHTML = one.att1; 
    atrib4.innerHTML = two.att2; 
    .... 
</script> 
+0

您嘗試訪問變量的代碼在哪裏?你有什麼嘗試? –

+0

只需在你的html中引用js文件,你應該能夠訪問它們 – iJade

+3

首先改變你的javascript庫的順序,首先應該加載jQuery –

回答

2

您必須維護層次結構。例如。

<script src="file1.js"></script> 
<script src="file2.js"></script> 

那麼你可以能夠訪問file2.jsfile1.js變量,但對file1.js不能訪問file2.js。規則是JavaScript按順序讀取文件。因此,如果您在訪問函數/變量/對象之前嘗試訪問它們將會出錯。

否則,如果你要訪問這兩個文件的變量,可以嘗試如下:

<script src="file1.js"></script> 
<script src="file2.js"></script> 
<!-- import your js files that contain those variable --> 
<script> 
    var atrib1 = document.getElementById("idAtr1"); 
    var atrib4 = document.getElementById("idAtr4"); 
    //import your js files above and then call it. 
    atrib1.innerHTML = one.att1; 
    atrib4.innerHTML = two.att2; 

</script> 

如果仍有疑慮。提到評論。我們將盡力幫助:)

+0

只是eddited問題。我正在嘗試你的解決方案 – Sascuash

+0

@Sascuash檢查編輯答案。如果你仍然懷疑。我在這個階段無法理解你的問題,更好的是你把你的完整的代碼示例,所以任何人都可以幫助:) – Sabbir

+0

它的工作原理。謝謝@Sabbir – Sascuash

1

只需將這些js文件添加到您的HTML中,並正常訪問這些變量即可。

<!-- Your script containing the variables --> 
<script type="text/javascript" charset="utf-8" src="js/idiomas.js"></script> 

... 

<script type="text/javascript"> 
    console.log(one); // Access the variable normally 
</script>