关闭

js动态生成html元素并为元素追加属性

时间: 2018-08-01阅读: 1879标签: 元素

动态生成html元素的方法有三种:


第一种:document.createElement()创建元素,再用appendChild( )方法将元素添加到指定节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
<div id="main">
    <span id="login"></span>
</div>
</body>

<script>
    var link = document.createElement('a');
    link.setAttribute('href','#');
    link.setAttribute('id','login');
    link.style.color = 'green';
    link.innerHTML = '登录';
    var main = document.getElementById('main');
    main.appendChild(link);
</script>

</html>


第二种:使用innerHTML直接将元素添加到指定节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>

<body>
<div id="main">
    <span id="login"></span>
</div>
</body>

<script>
    var link = document.createElement('a');

    //使用innerHTML将元素直接添加到指定节点
    main.innerHTML = "<a href='#' id='login' style='color: red;'>登录</a>";
</script>

</html>


第三种:jQuery创建节点

jQuery中创建DOM对象,使用jQuery的工厂函数$( )完成,格式如下:

$(html),$(html)会根据传入的HTML标记字符串,创建一个DOM对象,并将这个DOM对象包装成一个jQuery对象后再返回到前台页面上。

jQuery中将创建的节点插入文本中,使用append( )等方法,jQuery中插入节点方法有:

1. append():向每个匹配的元素内部追加内容

2.appendTo():将所有匹配的元素追加到指定元素中,颠倒了常规的$(A).append(B)方法,不是将B追加到A中,而是将A追加到B中

3.prepend():向每个匹配的元素内部前置内容

4.prependTo():将所有匹配的内容前置到指定的元素中,与prpend( )方法颠倒

5.after():向每个匹配的元素之后插入内容

6.insertAfter():将所有匹配的元素插入到指定元素的后面,与after()方法颠倒

7.before():在每个匹配的元素之前插入内容

8.insertBefore():将每个匹配的元素插入到指定内容之前,与before()方法颠倒

<!DOCTYPE html> 
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title></title>
   <script src="jquery-1.11.1.min.js"></script>
   <style type="text/css">
       .newStyle{
            color:red
       }
   </style>

<script>
   $(function(){
   var link=$('<a href="#" id="link" style="color:pink">登录</a>');
   $('#main').append(link).addClass("newStyle");
   })
</script>
</head>
 
<body>
   <div id="main"></div>
</body>
</html>


借鉴文档出处:https://blog.csdn.net/fredaouyang/article/details/56481458

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

链接: http://www.fly63.com/article/detial/967

Js在Array数组中按指定位置删除或添加元素对象

JavaScript的数据中可通过splice/slice在指定位置添加或删除元素。另外还有slice、delete等方法实现。splice方法向/从数组中添加/删除项目,然后返回被删除的项目

DOM元素节点js常用操作

在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 :1. nodeName : 节点的名称;2. nodeValue :节点的值;3. nodeType :节点的类型

子元素margin-top导致父元素移动的问题

今天在修改页面样式的时候,遇到子元素设置margin-top 但是并没有使得子元素与父元素之间产生间隔,而是作用在了其父元素上,导致父元素产生了一个margin-top 的效果。

元素focus页面不滚动不定位的JS处理

有时候我们希望元素被focus的时候页面不发生滚动,例如我们点击一个按钮打开一个弹框,此时点击弹框中的关闭按钮隐藏弹框后,希望键盘的焦点回到之前的按钮上,我们就会执行如下JavaScript代码:

如何实现元素曝光上报?

进行数据上报的时候,经常会遇到列表数据曝光上报的问题,只对在当前可视范围内的数据内容进行曝光上报,而对于未在可视范围内的数据不进行曝光上报,等待用户滚动页面或者区域使元素出现在可视范围内时才进行曝光上报

在js中获取页面元素的属性值时,弱类型导致的诡异事件踩坑记录

前几天写一个js的时候遇到一个非常诡异的事情,这个问题是这样的,我要获取一个页面的DOM元素的val值,判断这个值是否比某个变量大,这个需求原先数字最大也就是10,现在要改了,可能会更多,这个时候我发现比较大小的判断就出了问题:

CSS高度坍塌和外边距溢出问题及解决方法

高度坍塌:父元素 div 未设置高度,子元素全部设置浮动(float: left | right;),浮动元素 脱离文档流 且 不占页面空间,由于父元素为设置高度,高度靠内部子元素撑开,而今子元素全部脱离文档流,所以此时父元素的高度为 0

css按状态选择链接元素

CSS允许根据链接的当前状态对它们进行格式化。链接的状态包括访问者是否将鼠标停留在链接上,链接是否被访问过 ,等等。可以通过一系列伪类实现这一特性。

CSS隐藏页面元素常用方法_不同场景下使用CSS隐藏元素

使用 CSS 让元素不可见的方法很多,剪裁、定位到屏幕外、明度变化等都是可以的。虽然它们都是肉眼不可见,但背后却在多个维度上都有差别

HTML中的块级元素有哪些?

在css基础当中,我们往往会遇到块元素和行内元素,块元素和行内元素也是很重要的基础知识。那么块级元素是什么?HTML中的块级元素有哪些?

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!