在HTML正文<div>中的<div>标记中插入javascript全局变量

时间:2012-06-13 15:39:00

标签: javascript html

我在HTML中有以下标记:

<div data-dojo-type="dojox.data.XmlStore" 
     data-dojo-props="url:'http://135.250.70.162:8081/eqmWS/services/eq/Equipment/All/6204/2', label:'text'" 
     data-dojo-id="bookStore3"></div>

我在脚本部分的几个全局变量中有值6204和2:

<html>
  <head>
     <script>
      ...
      var newNeId = gup('neId');
      var newNeGroupId = gup('neGroupId');
      ...
     </script>
  </head>
</html>

是否可以在HTML正文的div标签中包含这些变量?如果是这样,怎么样?

为了澄清这一点,我需要在标签中包含以下内容的URL:

url: 'http://135.250.70.162:8081/eqmWS/services/eq/Equipment/All/'+newNeGroupId+'/'+newNeId

4 个答案:

答案 0 :(得分:1)

您可以使用与Dojo相同的数据主义模式(MDN docu)将它们添加到<div>

<div id="savebox" data-newNeId="6204" data-newNeGroupId="2"></div>

然后element.dataset.itemName可以访问这些属性。

var div = document.querySelector( '#savebox' );
// access
console.log( div.dataset.newNeId );
console.log( div.dataset.newNeGroupId );

正如@EricFortis指出的那样,问题仍然存在,为什么你要这样做。只有从服务器端传递这些值时才有意义。

答案 1 :(得分:1)

取一个父div,然后设置其ID,然后您可以使用innerHTML重写整个div标签。

document.getElementById('id of parent div').innerHTml="<div data-dojo-type=/"dojox.data.XmlStore/" 
 data-dojo-props=/"url:'http://135.250.70.162:8081/eqmWS/services/eq/Equipment/All/6204/2', label:'text'/" 
 data-dojo-id=/"bookStore3/"></div>";

您现在可以在innerhtml附加您想要的值。

答案 2 :(得分:1)

我根据你的要求改变了它:

<html>
    <head>
        <script type="text/javascript">
            // example data
            var newNeId = 10;
            var newNeGroupId = 500;
            window.onload = function(e){
                var myDiv = document.getElementById("myDiv");
                myDiv.setAttribute("data-dojo-props", "url:'http://135.250.70.162:8081/eqmWS/services/eq/Equipment/All/" + newNeId + "/" + newNeGroupId + "', label:'text'");
            }
        </script>
    </head>
    <body>
        <div id="myDiv" data-dojo-type="dojox.data.XmlStore" 
     data-dojo-props="url:'http://135.250.70.162:8081/eqmWS/services/eq/Equipment/All/6204/2', label:'text'" 
     data-dojo-id="bookStore3"></div>
    </body>
</html>​

答案 3 :(得分:0)

这里有简单的原生js代码

var body = document.getElementsByTagName('body')[0];
var myDiv = document.createElement('div');
myDiv.setAttribute('id', 'myDiv');
var text = 'newNeId: ' + newNeId + 
'<br/> newNeGroupId: ' + newNeGroupId';
body.appendChild(myDiv);
document.getElementById('myDiv').innerHTML = text;