2013-02-13 2 views
12

Скажем, у меня есть следующие JavaScript в HTML страницеJavascript доступа к переменным в HTML

<html> 
<script> 
    var simpleText = "hello_world"; 
    var finalSplitText = simpleText.split("_"); 
    var splitText = finalSplitText[0]; 
</script> 

<body> 
    <a href = test.html>I need the value of "splitText" variable here</a> 
</body> 
</html> 

Как получить значение переменной «splitText» вне тегов сценария.

Спасибо!

+1

Вы не получите значение из вне тега скрипта; тег сценария вставляет значение где-то еще на страницу. Но для этого сначала нужно обернуть функцию, которую нужно вызывать, только когда страница будет загружена. –

+1

Используйте значение «innerHTML» элемента документа ... – Floris

+0

Ну, технически вы * можете * сделать это с '', но это обычно считается плохой практикой. –

ответ

11
<html> 
<script> 
var simpleText = "hello_world"; 
var finalSplitText = simpleText.split("_"); 
var splitText = finalSplitText[0]; 

window.onload = function() { 
     //when the document is finished loading, replace everything 
     //between the <a ...> </a> tags with the value of splitText 
    document.getElementById("myLink").innerHTML=splitText; 
} 

</script> 

<body> 
<a id="myLink" href = test.html></a> 
</body> 
</html> 
+0

Это сработало ... спасибо! –

0

В сыром JavaScript, вы хотите поставить идентификатор на якорь тег и сделать это:

<html> 
<script> 
var simpleText = "hello_world"; 
var finalSplitText = simpleText.split("_"); 
var splitText = finalSplitText[0]; 

function insertText(){ 
    document.getElementById('someId').InnerHTML = splitText;} 
</script> 

<body onload="insertText()"> 
<a href = test.html id="someId">I need the value of "splitText" variable here</a> 
</body> 
</html> 
3

Попробуйте это:

<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
      var simpleText = "hello_world"; 
      var finalSplitText = simpleText.split("_"); 
      var splitText = finalSplitText[0]; 
      $("#target").text(splitText); 
     }); 
</script> 

<body> 
<a id="target" href = test.html></a> 
</body> 
</html> 
1
<html> 
<head> 
<script> 
    function putText() { 
     var simpleText = "hello_world"; 
     var finalSplitText = simpleText.split("_"); 
     var splitText = finalSplitText[0]; 
     document.getElementById("destination").innerHTML = "I need the value of " + splitText + " variable here"; 
    } 
</script> 
</head> 
<body onLoad = putText()> 
    <a id="destination" href = test.html>I need the value of "splitText" variable here</a> 
</body> 
</html> 
0

Также можно использовать span тег вместо a тега:

<html> 
<script> 
    var simpleText = "hello_world"; 
    var finalSplitText = simpleText.split("_"); 
    var splitText = finalSplitText[0]; 

    document.getElementById('someId').InnerHTML = splitText; 
</script> 

<body> 
    <span id="someId"></span> 
</body> 

</html> 

Он работал хорошо для меня