2

我在 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

4 回答 4

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>​
于 2012-06-13T15:53:13.367 回答
1

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

<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 指出的那样,问题仍然存在,为什么要这样做。这只有在您从服务器端传递这些值时才有意义。

于 2012-06-13T15:45:30.193 回答
1

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

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

于 2012-06-13T15:48:03.403 回答
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;
于 2012-06-13T16:03:53.543 回答