我在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
答案 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;