当前位置:首页 > 图片 > 国内图片 > 正文
文章正文

jq动态添加元素 jQuery EasyUI使用教程:动态添加标签

图片 > 国内图片 > :jq动态添加元素 jQuery EasyUI使用教程:动态添加标签是由美文导刊网(www.eorder.net.cn)为您精心收集,如果觉得好,请把这篇文章复制到您的博客或告诉您的朋友,以下是jq动态添加元素 jQuery EasyUI使用教程:动态添加标签的正文:

jQuery EasyUI使用教程:动态添加标签

>

通过使用jQuery EasyUI可以非常容易的动态添加标签,你只需调用"add"方法即可。

在本教程中,我们将使用iframe动态添加标签来显示一个页面。当点击添加按钮时,一个新的标签将会被添加。如果标签已经存在了,那么它将会被激活。

查看演示

Step 1:创建标签googlejqueryeasyui

该html代码非常简单,我们创建了带有一个被命名为"Home"标签面板的标签。请注意,我们不需要编写任何JS代码。

Step 2:实现"addTab"功能function addTab(title, url){ if ($("#tt").tabs("exists", title)){ $("#tt").tabs("select", title); } else { var content = ""; $("#tt").tabs("add",{ title:title, content:content, closable:true }); } }

我们使用 "exists"方法来确定标签是否存在,如果存在的话那么激活该标签,如果不存在则调用"add"方法来添加新的标签面板。

下载该EasyUI示例:easyui-tabs-demo.zip

购买最新正版授权!"咨询在线客服"

慧都年终盛典火爆开启,一年仅一次的最强促销,破冰钜惠不同错过!!优惠详情点击查看>>

{@@_update}

有用(0)没用(0)(jq动态添加元素)

本站文章除注明转载外,均为本站原创或翻译

欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

转载请注明:文章转载自:慧都控件网 [http://www.evget.com]

本文地址:http://www.evget.com/article/2015/11/13/22972.html返回搜狐,查看更多

jquery的绑定事件及其优缺点

jQuery中提供了四种事件监听方式,分别是bind、live、delegate、on,对应的解除监听的函数分别是unbind、die、undelegate、off。

(1)bind()

可以向匹配的元素绑定一个或者多个事件处理器。但是它不会在没有存在dom树中的元素绑定该事件;而live()、delegate()则可以实现在不存在dom树中的元素继续绑定事件.

live方法其实是bind方法的变种,其基本功能同bind方法的功能一样都是为一个元素绑定某个事件,但是bind方法只能给当前存在的元素绑定事件,对于事后采用js等方式新生成的元素无效,而live方法则正好弥补了bind方法的这个缺陷,它可以对后生成的元素也可以绑定相应的事件。

bind()的优点:

可以向匹配的元素绑定一个或者多个事件处理器。

bind()的缺点:

它会绑定事件到所有的选出来的元素上,当元素很多时,会出现效率问题;

当页面加载完的时候,你才可以进行bind();

它不会绑定到在它执行完后动态添加的那些元素上。

(2)live()方法

用到了事件委托的概念来处理事件的绑定,会绑定相应的事件到你所选择的元素的根元素上,即是document元素上,一旦事件冒泡到document上,jquery将会查找selector/event metadata,然后决定那个handler应该被调用。

live的优点:

仅有一次的事件绑定,绑定到document上;

动态添加的elemtns依然可以触发那些早先绑定的事件,因为事件真正的绑定是在document上;

可以在document ready之前就可以绑定那些需要的事件。

live的缺点:

从jq1.7开始已经不被推荐了;

当一个元素采用live方法进行事件的绑定的时候,如果想阻止事件的传递或冒泡,就要在函数中return false,仅仅调用stopPropagation()是无法实现阻止事件的传递或者冒泡的,因为都要到达document,所以速度也会非常慢;

(3)delegate()

有点像.live(),不同于.live()的地方在于,它不会把所有的event全部绑定到document,而是由你决定把它放在哪儿。而和.live()相同的地方在于都是用event delegation.

delegate的优点:

可以选择把这个事件放到哪个元素上了,可以有效的减小你所要查找的元素;

(jq动态添加元素)

可以用在动态添加的元素上。

delegate的缺点:

需要查找哪个元素上发生了那个事件,尽管比document少很多了,不过,还是得浪费时间来查找。

(4)on():

其实.bind(), .live(), .delegate()都是通过.on()来实现的,.unbind(), .die(), .undelegate(),也是一样的都是通过.off()来实现的。

on的优点:

提供了一种统一绑定事件的方法,可以用.on()来代替上述的3种方法。

one是在dom树加载后,对元素的绑定,和bind一样属于后期绑定,但是会在事件执行之后移除元素的绑定事件,事件只执行一次。返回搜狐,查看更多


一.jquery 向DIV动态添加元素

<html xmlns="http-equiv="Content-Type" content="text/html; charset=utf-8" /><script src="code.jquery.com/jquery-latest.js"></script><style type="text/css">form{width:600px;min-height:200px;margin:50px auto;padding:20px;border:1px s护触篙吠蕻杜戈森恭缉olid #ccc;}#queryinput div{padding:5px 0;}</style><script>$(function(){$("input[name='add']").click(function(event) {$("#queryinput").append($("#queryinput div:first-child").clone(true));});$("input[name='del']").click(function(event) {$(this).parent().remove();});})</script></head><body><form><input type="button" name="add" value="添加查询栏位" /><div id="queryinput"><div><select><option>aitem1</option><option>bitem2</option><option>bitem3</option><option>ditem4</option><option>eitem5</option></select><input type="text"><input type="button&quot......余下全文>>


二.JQuery动态新增Dom元素,怎么用JQ选择该元素并设置其属性

你把动态添加元素的代码也写出来吧,我这控制动态添加的元素是没有问题的,下面是我测试用的代码
<!doctype html><html><head><meta charset="utf-8"><title>无标题文档</title><script src="jquery.js" type="text/javascript"></script><script type="text/javascript">$(document).ready(function(){getId="d1"$("#b1").click(function(e) {$("#"+getId).find("span").css("color", "red"); });$("#b2").click(function(e) {$("body").append($("<div id='d1'><span>动态内容</span><&尝互佰就脂脚拌协饱茅#47;div>")); });})</script></head><body><button id="b1">改变颜色</button><button id="b2">动态添加</button></body></html> (jq动态添加元素)


三.JQUERY 如何删除动态添加的元素?


$(".input_bt7").click(function(){

var $city = $("#input_bt77").attr("value");
var $parent = $(".tab1_tag2_con");
花尝羔妒薏德割泉公沪 $parent.append($city);
});

$(".tab1_tag2_con a").click(function(){

$(this).remove();
});

写成函数;然后再
$parent.append('<a href="javascript:void(0)">'+$abca+'</a>');

这句后引用函数就行了
或者直接把
$(".input_bt7").click(function(){

var $city = $("#input_bt77").attr("value");
var $parent = $(".tab1_tag2_con");
$parent.append($city);
});

$(".tab1_tag2_con a").click(function(){

$(this).remove();
});
写在$parent.append('<a href="javascript:void(0)">'+$abca+'</a>');后面也可


四.jquery无法为动态生成的元素添加点击事件5分

(jq动态添加元素)

要看看你是怎么“动态添加”元素的。
如果你的元素是用click事件append进来的
那你的功能函数必须放在这个click事件里面。
比如:
$(&quo害恭愤枷莅磺缝委俯莲t;.clickMeToAppendElement").click(function() {
$(".toBeAppend").append("<li><span><i class=\"icon J_classtree\">这是元素内容</i>");

$(".J_classtree").on("click",function(){
alert("终于进来了");
});
);

如果你把函数放在click事件外面,
最初加载页面的时候,$(".J_classtree")就找不到.J_classtree这个类,那段功能函数就添加不了了。


五.javascript/jquery 如何动态的在json中插入元素

var json={}敞川搬沸植度邦砂鲍棘;// 定义一个json对象 json.array1=["2","4"];// 增加一个新属性,此属性是数组 json.array1[json.array1.length]='6';// 数组追加一个元素 alert(json.array1)执行上面的js看看。
(jq动态添加元素)


六.怎么获取JQuery动态生成的元素的值?

jQuery中获取动态元素的值可以用live()方法
具体请察看jquery手册


七.jquery删除div中动态添加的元素

<div id='parentDiv'&g肠畅斑堆职瞪办缺暴画t;</div>

//div中动态添加span

var spanDom=$('<span/>').text('这是动态添加的的元素');
$('#parentDiv').append(spanDom);

//div中删除添加的span:
$('#parentDiv').remove(spanDom);


八.Jquery 怎么获取动态生成的html元素,然后给其中的元素添加样式?

你是要给append上去的html里面的第一个li加样式对吗?


九.Jquery 怎么获取动态生成的html元素,然后给其中的元素添加样式

使用ajax或者jquery动态创建的元素,例如&#3氦肌份可莓玖逢雪抚磨9;<select
id="dbc">',是无法用$("#dbc")获取的。
用法如下:
$(selector).live("event", data, function());
data为可选参数,规定传递到该函数的额外参数
e.g:
$("#store").live("change", function() {
$("#username").val($("#store").val() + "_" + $("#limits").val());
});
$("#username")是使用ajax动态创建的'<select id="username">'

jq动态添加元素 jQuery EasyUI使用教程:动态添加标签由美文导刊网(www.eorder.net.cn)收集整理,转载请注明出处!原文地址http://www.eorder.net.cn/pic30837/

文章评论
Copyright © 2006 - 2016 www.eorder.net.cn All Rights Reserved
美文导刊网 版权所有