我的意思是,可以在<script>
- 标签之外的HTML中使用声明和初始化的变量/数组吗? Fx的。
<script type="text/javascript">
var foo = array('placeholder1', 'placeholder2');
</script>
<body>
<p><!--access the variable here-->foo[0]</p>
</body>
在这种情况下如何访问变量/数组?像这样:
<p><script type="text/javascript">document.print(foo[0])</script></p>
...
答案 0 :(得分:22)
有两种方法可以做到这一点。这是更好的一个:
<script type="text/javascript">
// make sure to do this onLoad, for example jQuery's $()
var foo = array('placeholder1', 'placeholder2');
document.getElementById("fooHolder").innerHTML = foo.toString();
</script>
...
<p id="fooHolder"></p>
或者你可以这样做(正如Marcel指出的那样,它在XHTML中不起作用而且真的不应该被使用):
<p><script type="text/javascript">document.write(foo)</script></p>
答案 1 :(得分:5)
您可以这样做:
<script>
var str = 'hello there';
document.getElementById('para').innerHTML = str;
</script>
其中元素具有指定的id:
<p id="para"></p>
答案 2 :(得分:3)
你根本无法访问脚本标记之外的javascript变量,这是因为,
答案 3 :(得分:1)
不必要的冗长,但使用标准的DOM方法。
<script>
window.onload = function(){
// you do not need to initialize like this, but I like to
var bar1 = new String('placeholder1');
var bar2 = new String('placeholder2');
var foo = new Array();
// populate the Array with our Strings
foo.push(bar1);
foo.push(bar2);
// create an array containing all the p tags on the page
// (which is this case is only one, would be better to assign an id)
pArray = document.getElementsByTagName('p');
// create a text node in the document, this is the proper DOM method
bar1TextNode = document.createTextNode(foo[0].toString());
// append our new text node to the element in question
pArray[0].appendChild(bar1TextNode);
};
</script>
<body>
<p></p>
</body>
答案 4 :(得分:0)
这是您在页面中其他位置访问它的唯一直接方式。通过打开另一个脚本标签并打印它。
您还可以使用innerHTML等方法将值放在某处。
答案 5 :(得分:0)
我认为你不能从html访问javascript,但你可以通过javascript设置dom对象的innerhtml,所以你可能想要反过来。我找到的第一个谷歌搜索,所以我不能保证它的好,但它有一个快速的样本。
答案 6 :(得分:0)
你甚至可以使用AngularJS表达。
data = [['john','1','2', 2.45434],['jack','1.3','2.2', 4.45434], ['josh','2','3', 3.45434]]
data.sort(key=lambda x: x[-1])
# data = [['john', '1', '2', 2.45434], ['josh', '2', '3', 3.45434], ['jack', '1.3', '2.2', 4.45434]]
上面的代码将打印出来&#34;我想直接在HTML中使用变量:AngularJS&#34;。你可以使用大括号来编写AngularJS表达式。例如:{{表达}}。