jQuery - 添加元素
通过 jQuery 可以很容易地添加新元素/内容。
添加新的 HTML 内容
将学习用于添加新内容的四个 jQuery 方法:
- append() - 在被选元素的结尾插入内容
- prepend() - 在被选元素的开头插入内容
- after() - 在被选元素之后插入内容
- before() - 在被选元素之前插入内容
jQuery append() 方法
jQuery append() 方法在被选元素的结尾插入内容(仍然该元素的内部)。
jQuery prepend() 方法
jQuery prepend() 方法在被选元素的开头插入内容。
通过 append() 和 prepend() 方法添加若干新元素
在上面的例子中 只在被选元素的开头/结尾插入文本/HTML。
不过 append() 和 prepend() 方法能够通过参数接收无限数量的新元素。可以通过 jQuery 来生成文本/HTML(就像上面的例子那样) 或通过 JavaScript 代码和 DOM 元素。
在下面的例子中 创建若干个新元素。这些元素可以通过 text/HTML、jQuery 或 JavaScript/DOM 来创建。然后 通过 append() 方法把这些新元素追加到文本中(对 prepend() 同样有效):
实例
function appendText(){var txt1="<p>文本。</p>"; // 使用 HTML 标签创建文本var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 创建文本var txt3=document.createElement("p");txt3.innerHTML="文本。"; // 使用 DOM 创建文本 text with DOM$("body").append(txt1,txt2,txt3); // 追加新元素}
尝试一下 »
jQuery after() 和 before() 方法
jQuery after() 方法在被选元素之后插入内容。
jQuery before() 方法在被选元素之前插入内容。
通过 after() 和 before() 方法添加若干新元素
after() 和 before() 方法能够通过参数接收无限数量的新元素。可以通过 text/HTML、jQuery 或 JavaScript/DOM 来创建新元素。
在下面的例子中 创建若干新元素。这些元素可以通过 text/HTML、jQuery 或 JavaScript/DOM 来创建。然后 通过 after() 方法把这些新元素插到文本中(对 before() 同样有效):
实例
function afterText(){var txt1="<b>I </b>"; // 使用 HTML 创建元素var txt2=$("<i></i>").text("love "); // 使用 jQuery 创建元素var txt3=document.createElement("big"); // 使用 DOM 创建元素txt3.innerHTML="jQuery!";$("img").after(txt1,txt2,txt3); // 在图片后添加文本}
尝试一下 »
千年的回眸
jquery动态设置 audio src ,jquery动态设置 video src
这么做浏览器才会去请求地址获得audio video文件
$(".dj").on("click", function() {
var src = $(this).attr("src");
$("#video-box video").append("<source src=\""+ src +"\">");
$("#video-box").show();
$("#video-box video")[0].play()
});
推断出来的是 当 video 中存在 source 标签的时候
浏览器渲染之后会自动去获取地址 即便地址改变
浏览器也不会再去获取地址
但是通过动态的插入 source 标签的方式
触发浏览器进行重排 从而去获取相应地址的文件进行播放
文人墨客
参数可以是个 list:
文人墨客
那有木有考虑过append/prepend和after/before有什么区别呢?
append
结果是这样的:after
结果是这样的:
总结:
append/prepend 是在选择元素内部嵌入。
after/before 是在元素外面追加。