页面中存在多个div,如何实现单击实现取得其中一个的值!

页面中存在多个div,如何实现单击实现取得其中一个的值!,第1张

三个方法。DOM0级,DOM2级。

网上流传最广的DOM0级

<div id="a" onclick="f(this);">1</div>

function f(e){

alert(einnerHTML);

}

把this当做参数传入然后调用。

第二个算是混合类型的。严格来说不算是DOM2级。

function f(){

alert(eventsrcElementinnerHTML);

}

<div id="a" onclick="f();">1</div>

获取事件源。

这里有兼容问题。IE用srcElement。FF用的是target。而且如果要在FF运行需要把event当做参数写入。如:

<div id="a" onclick="f(event);">1</div>

function f(e){

alert(etargetinnerHTML);

}

第三个方法DOM2级的。

<div id="a">1</div>

function addEv(obj,ev,fn){

if(objattachEvent){//IE模型

objattachEvent("on"+ev,function(){

fncall(obj);

});

}else if(objaddEventListener){//W3C模型

objaddEventListener(ev,function(){

fncall(obj);

},false);

}else{

obj["on"+ev] = fn;

}

}

var t = documentgetElementById('a');

addEv(t,'click',function(){

alert(thisinnerHTML);

});

一般类库和高手都用这种写法。

第一个缺点就是如果不加call IE就会把this指向window。我做了点修改让他this指向当前对象了。还有一个缺点就是无法删除匿名函数写的事件。

objattachEvent("on"+ev,function(){

fncall(obj);

});

可以把这个function写到一个单独的函数中就可以删除了。不过this就不会指向当前的对象了。

如果想做的完美可以搜索detachEvent匿名函数或attachEvent匿名函数。

如果还不懂可以M我。

1、根据div标签获取所有的div节点

var divs = $('div');//获取所有的div节点

2、获取div的id

divseach(function(k,v){//通过each循环每个div节点

alert(thisid);//获取div节点的id值

});

可以使用jQuery的children方法来获取某个元素下的所有子元素。

工具原料:编辑器、浏览器

1、使用children方法可以获得选择器下的所有子元素,代码实例如下:

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript" src="/jquery/jqueryjs"></script>

<style>

  body { font-size:16px; font-weight:bolder; }

  p { margin:5px 0; }

</style>

</head>

<body>

  <div>

    <span>Hello</span>

    <p class="selected">Hello Again</p>

    <div class="selected">And Again</div>

    <p>And One Last Time</p>

  </div>

<script>$("div")children("selected")css("color", "blue");</script>

</body>

</html>

2、运行的结果是找到类名为 "selected" 的所有 div 的子元素,并将其设置为蓝色,结果如下:

思路:用js取得div之间的值可用innerText属性来取得。

代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 40 Transitional//EN">

<HTML>

<HEAD>

<TITLE> New Document </TITLE>

<META NAME="Generator" CONTENT="EditPlus">

<META NAME="Author" CONTENT="">

<META NAME="Keywords" CONTENT="">

<META NAME="Description" CONTENT="">

<script language="JavaScript">

function fff(){

//取得aa标签里的内容

var sss=documentgetElementById("aa")innerText;

//用alertd出

alert(sss);

}

</script>

</HEAD>

<BODY>

<div id="aa">aaaaa</div>

<input name="adfb" type="button" class="button" value="bbbb" onclick="fff()"/>

</BODY>

</HTML>

说明:

innerText:从起始位置到终止位置的内容, 但它去除Html标签

利用JavaScript的DOM模型,可以获得该标记的值,代码如下:首先,获得DIV标记的DOM对象var obj=getElementById("menu");然后利用InnerHTML属性就可以获得DIV对象的值,注意,这个属性获得的值也包括HTML代码,假如仅仅为了获得DIV标记间的文本,可以用InnerText属性来获得。示例代码:var str=objinnerHTML就可以获得本例中的“文字效果”内容!

以上就是关于页面中存在多个div,如何实现单击实现取得其中一个的值!全部的内容,包括:页面中存在多个div,如何实现单击实现取得其中一个的值!、jquery中怎么获取div的id值、jQuery怎么获取一个DIV下所有元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9588798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存