三个方法。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下所有元素的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)