获取制定元素的方法有2种,分别是children()方法和find()方法。
1、children()方法:获取该元素下的直接子集元素
2、find()方法:获取该元素下的所有子集元素
分别以以下HTML代码为例:<ul><li>list1<ul><li>list1-1</li><li>list1-2</li></ul></li><li>list2<ul><li>list2-1</li><li>list2-2</li></ul></li><li>list3<ul><li>list3-1</li><li>list3-2</li></ul></li></ul>
children()方法获取ul下面直接子集元素li:$("ul")children("li")
需要注意的是,如果li元素下还有li元素,children方法将不会被获取。我们可以用length来测试获取的个数“$("ul")children("li")length”,最后输出结果为3
find()方法获取ul下所有元素li:$("ul")find("li")
需要注意的是,find方法会无限循环查找ul标签节点下的li,一直找到没有为止,用length来测试获取个数“$("ul")find("li")length”,最后输出结果为9
children和find的区别:children只会查找直接子集,而find会跨越层级查找,一直找到没有为止。
三个方法。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我。
利用JavaScript的DOM模型,可以获得该标记的值,代码如下:首先,获得DIV标记的DOM对象var obj=getElementById("menu");然后利用InnerHTML属性就可以获得DIV对象的值,注意,这个属性获得的值也包括HTML代码,假如仅仅为了获得DIV标记间的文本,可以用InnerText属性来获得。示例代码:var str=objinnerHTML就可以获得本例中的“文字效果”内容!
1根据ID,用var div=documentgetElementById('youdivid')
2通过标签名来取得var div=documentgetElementsByTagName('div')[num]
3举个例子可以多练习练习:
function a(){var div=documentgetElementById('a');alert('div的class为:'+divid)alert('div的id为:'+divclassName)}
function b(){var div=documentgetElementsByTagName('div')[0];alert('div的class为:'+divid)alert('div的id为:'+divclassName)}</script>
扩展资料
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。
为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。
参考资料 百度百科-js
$("div")index(this)text();改成$(this)text();即可。不过你的div宽度是100%,从下往上移4会挡住其他的,除非你把浏览器缩小,从左边移进去。 修改建议,加个id为tips的div,然后将index的值放进去,这样移动的时候它就会自动变换,看起来明显些。如下:\x0d\\x0d\asasas\x0d\2\x0d\3\x0d\4\x0d\\x0d\$(function(){\x0d\$("div")hover(function(){\x0d\ var index=$(this)text(); \x0d\ $("#tips")html(index);\x0d\ })\x0d\}) \x0d\回答于 2022-11-16
<body>
<div style="height: 20px;width: 20px;background: #666;" id="node">
</div>
<script>
// 使用原生JS
var node = documentgetElementById("node");
nodestylebackground = "black";
// 使用JQuery
var node = $("#node");
nodecss("background", "#111");
</script>
</body>
以上就是关于如何获取一个div中的指定元素全部的内容,包括:如何获取一个div中的指定元素、页面中存在多个div,如何实现单击实现取得其中一个的值!、怎么取得表单里面DIV的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)