如何获取一个div中的指定元素

如何获取一个div中的指定元素,第1张

获取制定元素方法有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的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存