jQuery动态成立html成分的常用方法汇总

2019-07-26 作者:网站首页   |   浏览(157)

本文实例讲述了jQuery动态创建html元素的常用方法,在使用jQuery进行WEB程序设计的时候非常有用。分享给大家供大家参考。具体方法如下:

jQuery动态创建html元素的常用方法汇总,jquery动态html元素

本文实例讲述了jQuery动态创建html元素的常用方法,在使用jQuery进行WEB程序设计的时候非常有用。分享给大家供大家参考。具体方法如下:

一般来说,可以通过以下几种方式动态创建html元素:

1、使用jQuery创建元素的语法
2、把动态内容存放到数组中,再遍历数组动态创建html元素
3、使用模版

1.使用jQuery动态创建元素追加到jQuery对象上。

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <script type="text/javascript">
     $(function() {
       $('<input />', {
         id: 'cbx',
         name: 'cbx',
         type: 'checkbox',
         checked: 'checked',
         click: function() {
           alert("点我了~~");
         }
       }).appendTo($('#wrap'));
     });
   </script>
 </head>
 <body>
   <div id="wrap"></div>
 </body>

运行效果如下图所示:

yzc216亚洲城 1

2.先把内容放到数组中,然后遍历数组拼接成html

 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <style type="text/css">
     table {
       border: solid 1px red;
       border-collapse: collapse;
     }

     td {
       border: solid 1px red;
     }
   </style>
   <script type="text/javascript">
     $(function () {
       var data = ["a", "b", "c", "d"];
       var html = '';
       for (var i = 0; i < data.length; i   ) {
         html  = "<td>"   data[i]   "</td>";
       }
       $("#row").append(html);
     });
   </script>
 </head>
 <body>
   <table>
     <tr id="row"></tr>
   </table>
 </body>
 </html>

运行效果如下图所示:

yzc216亚洲城 2

3.使用模版生成html

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <script type="text/javascript">
     $(function () {
       var a = buildHTML("a", "我是由模版生成的", {
         id: "myLink",
         href: "http://www.baidu.com"
       });

       $('#wrap1').append(a);

       var input = buildHTML("input", {
         id: "myInput",
         type: "text",
         value: "我也是由模版生成的~~"
       });

       $('#wrap2').append(input);
     });

     buildHTML = function(tag, html, attrs) {
       // you can skip html param
       if (typeof (html) != 'string') {
         attrs = html;
         html = null;
       }
       var h = '<'   tag;
       for (attr in attrs) {
         if (attrs[attr] === false) continue;
         h  = ' '   attr   '="'   attrs[attr]   '"';
       }
       return h  = html ? ">"   html   "</"   tag   ">" : "/>";
     };
   </script>
 </head>
 <body>
   <div id="wrap1"></div>
   <div id="wrap2"></div>
 </body>

运行效果如下图所示:

yzc216亚洲城 3

相信本文所述对大家使用jQuery进行WEB程序设计有一定的借鉴价值。

一般来说,可以通过以下几种方式动态创建html元素:

利用jQuery操作HTML元素的方法

jQuery 选择器

jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
选择器允许您对 HTML 元素组或单个元素进行操作。
在 HTML DOM 术语中:
选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。

选择器  实例  选取

*  $("*")  所有元素
#id  $("#lastname")  id="lastname" 的元素
.class  $(".intro")  所有 class="intro" 的元素
element  $("p")  所有 <p> 元素
.class.class  $(".intro.demo")  所有 class="intro" 且 class="demo" 的元素
     
:first  $("p:first")  第一个 <p> 元素
:last  $("p:last")  最后一个 <p> 元素
:even  $("tr:even")  所有偶数 <tr> 元素
yzc216亚洲城,:odd  $("tr:odd")  所有奇数 <tr> 元素
     
:eq(index)  $("ul li:eq(3)")  列表中的第四个元素(index 从 0 开始)
:gt(no)  $("ul li:gt(3)")  列出 index 大于 3 的元素
:lt(no)  $("ul li:lt(3)")  列出 index 小于 3 的元素
:not(selector)  $("input:not(:empty)")  所有不为空的 input 元素
     
:header  $(":header")  所有标题元素 <h1> - <h6>
:animated     所有动画元素
     
:contains(text)  $(":contains('W3School')")  包含指定字符串的所有元素
:empty  $(":empty")  无子(元素)节点的所有元素
:hidden  $("p:hidden")  所有隐藏的 <p> 元素
:visible  $("table:visible")  所有可见的表格
     
s1,s2,s3  $("th,td,.intro")  所有带有匹配选择的元素
     
[attribute]  $("[href]")  所有带有 href 属性的元素
[attribute=value]  $("[href='#']")  所有 href 属性的值等于 "#" 的元素
[attribute!=value]  $("[href!='#']")  所有 href 属性的值不等于 "#"......余下全文>>  

1、使用jQuery创建元素的语法
2、把动态内容存放到数组中,再遍历数组动态创建html元素
3、使用模版

JQuery里的代码不可以响应动态生成的html元素的click事件,怎解决?

你可以换个思路解决这种问题
不要监听动态html元素,可以监听这些元素的父节点,再使用jQuery的is方法判断是不是想要的元素。
附上例子
<body>
<script type="text/javascript">
$(function(){
$("#aaa").click(function(e){
if($(e.target).is(".bbb")){
alert(1);
};
});
});
</script>
<table id="aaa" border="1">
<tr>
<td><input type="button" class="bbb" value="sadasd"> <a href="javascript:void(0)" class="bbb">asdasd</a></td>
</tr>
<tr>
<td><input type="button" class="bbb" value="sadasd"> <a href="javascript:void(0)" class="bbb">asdasd</a></td>
</tr>
</table>
</body>  

本文实例讲述了jQuery动态创建html元素的常用方法,在使用jQuery进行WEB程序设计的时...

1.使用jQuery动态创建元素追加到jQuery对象上。

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <script type="text/javascript">
     $(function() {
       $('<input />', {
         id: 'cbx',
         name: 'cbx',
         type: 'checkbox',
         checked: 'checked',
         click: function() {
           alert("点我了~~");
         }
       }).appendTo($('#wrap'));
     });
   </script>
 </head>
 <body>
   <div id="wrap"></div>
 </body>

运行效果如下图所示:

yzc216亚洲城 4

2.先把内容放到数组中,然后遍历数组拼接成html

 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <style type="text/css">
     table {
       border: solid 1px red;
       border-collapse: collapse;
     }

     td {
       border: solid 1px red;
     }
   </style>
   <script type="text/javascript">
     $(function () {
       var data = ["a", "b", "c", "d"];
       var html = '';
       for (var i = 0; i < data.length; i   ) {
         html  = "<td>"   data[i]   "</td>";
       }
       $("#row").append(html);
     });
   </script>
 </head>
 <body>
   <table>
     <tr id="row"></tr>
   </table>
 </body>
 </html>

运行效果如下图所示:

yzc216亚洲城 5

3.使用模版生成html

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
   <title></title>
   <script src="Scripts/jquery-1.10.2.js"></script>
   <script type="text/javascript">
     $(function () {
       var a = buildHTML("a", "我是由模版生成的", {
         id: "myLink",
         href: "http://www.baidu.com"
       });

       $('#wrap1').append(a);

       var input = buildHTML("input", {
         id: "myInput",
         type: "text",
         value: "我也是由模版生成的~~"
       });

       $('#wrap2').append(input);
     });

     buildHTML = function(tag, html, attrs) {
       // you can skip html param
       if (typeof (html) != 'string') {
         attrs = html;
         html = null;
       }
       var h = '<'   tag;
       for (attr in attrs) {
         if (attrs[attr] === false) continue;
         h  = ' '   attr   '="'   attrs[attr]   '"';
       }
       return h  = html ? ">"   html   "</"   tag   ">" : "/>";
     };
   </script>
 </head>
 <body>
   <div id="wrap1"></div>
   <div id="wrap2"></div>
 </body>

运行效果如下图所示:

yzc216亚洲城 6

相信本文所述对大家使用jQuery进行WEB程序设计有一定的借鉴价值。

您可能感兴趣的文章:

  • JS动态创建元素的两种方法
  • 浅析JS动态创建元素【两种方法】
  • JS动态创建DOM元素的方法
  • JS中动态创建元素的三种方法总结(推荐)

本文由yzc216亚洲城发布于网站首页,转载请注明出处:jQuery动态成立html成分的常用方法汇总

关键词: yzc216亚洲城