使用jquery创建Html元素

时间:2011-06-15 13:01:54

标签: javascript jquery dom

如何使用jquery创建类似div的内容?最好使用与$(document.createElement('div'));类似的东西或除$("<div spry:region="myDs">{hostname}</div>");

之外更快的东西
<div spry:region="myDs">
    {hostname}
</div>

被修改

如何将此代码放在另一个JS文件中并使用它,因为"<%= request.getParameter(\"filepath\") %>"正在创建问题

var cpath="<%= request.getParameter(\"filepath\") %>";
var myDs = new Spry.Data.XMLDataSet(cpath, "csmclient/system");     
$(document).ready(function(){
    $('<div>')                      // Creates the element
    .attr('spry:region','myDs') // Sets the attribute spry:region="myDs"
    .html('{hostname}')         // Sets the inner HTML to {hostname}
    .appendTo('body');
});

4 个答案:

答案 0 :(得分:10)

我很惊讶没有人完全使用jQuery的链接功能:

$('<div>')                      // Creates the element
    .attr('spry:region','myDs') // Sets the attribute spry:region="myDs"
    .html('{hostname}')         // Sets the inner HTML to {hostname}
    .appendTo('body')           // Append the newly created element to body

这是一个显示实际效果的jFiddle example

更新以响应您的修改 您将无法在外部javascript文件中使用Request对象,因为外部脚本文件是由浏览器在单独的请求中提取的。您可以通过编写返回javascript文件的ASP.NET Handler脚本轻松解决问题,方法如下:

  1. 在ASP.NET项目中创建一个新的处理程序。将其命名为合理的,例如yourscriptname.js.ashx
  2. 将所有javascript代码复制到处理程序中的正确位置(您可能需要Response.Write()调用或其他内容...
  3. src元素的<script>标记从somefile.js更改为somefile.js.asp?filepath=your/file.path
  4. 这样,当浏览器发送javascript请求时,请求对象的值为"filepath",一切都会再次起作用。当然,您首先要将your/file.path更改为更相关的内容,以便从请求参数中获取值到页面。

答案 1 :(得分:3)

在jQuery中创建元素并附加它们:

jQuery('<div/>', {
    "spry:region": "myDS",
    text: '{hostname}'
}).appendTo('body');

查看here以获取完整参考资料

答案 2 :(得分:2)

首先,document.createElement('div')是javascript,而不是jQuery。如果你不想使用jQuery:

var main = document.getElementById('main');//where you want the div to be added
var div = document.createElement('div');
div.setAttribute("spry:region","myDs");
div.innerHTML = "{hostname}";
main.appendChild(div);

但是jQuery更容易使用DOM,所以你可以使用上面的答案:)。

答案 3 :(得分:1)

$(“html tags”)。appendTo(“你要添加的地方”)

$('<div spry:region="myDs">{hostname}</div>').appendTo("body")
$('<div spry:region="myDs">{hostname}</div>').appendTo("#content")

var div = $(document.createElement('div'));
div.html("{hostname}").attr('spry:region=', "myDs").appendTo("body")