js获取父级元素

js获取父级元素,第1张

1、打开编辑工具editplus,点击editplus菜单栏上的File-->New -->HTML page。

2、新建好html页面后,editplus自动帮助我们生成了框架,先把title修改下,然后保存。

3、在body区域里添加了子,父,祖父三级div,代码如下。

4、演示代码写好后,打开浏览器,在浏览器上运行看看效果。

5、下面在head区域里添加实现js获取最高父级的代码,代码具体如下,这样利用了while循环来判断的。

6、实现好后,保存代码,此时再到浏览器上刷新访问,看下,此时d出对话框告诉最后父级是zufu。

非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:

function getClassName(obj,sName) //-->obj是要获取元素的父级

{ //-->sName是class名字

if(documentgetElementsByClassName)

{

return objgetElementsByClassName('sName');

}

else

{

var aTmp = objgetElementsByTagName('');

var aRes=[];

var arr =[];

for(var i=0;i<aTmplength;i++)

{

arr = aTmp[i]classNamesplit(' ');

for (var j=0;j<arrlength;j++)

{

if(arr[j] == sName)

{

aRespush(aTmp[i]);

}

}

}

return aRes;

}

}

大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。

js获取div里的元素个数方法是:先得到父元素,再得到父元素下的某标签类别的子元素,最后统计出子元素的长度就可以简单实现了。

js 动态添加元素(div、li、img等)及设置属性的方法:

一、js 动态添加元素div

<div id="parent"></div>

function addElementDiv(obj) {var parent = documentgetElementById(obj);//添加 divvar div =

documentcreateElement("div");//

设置 div 属性,如 iddivsetAttribute("id", "newDiv");divinnerHTML = "js 动态添

div";parentappendChild(div);}

调用:addElementDiv("parent");

二、js 动态添加li

<ul id="parentUl"><li>原li</li></ul>

function addElementLi(obj) {var ul = documentgetElementById(obj);//添加 livar li =

documentcreateElement("li");//

设置 li 属性,如 idlisetAttribute("id", "newli");liinnerHTML = "js 动态添加li";ulappendChild(li);}

调用:addElementLi("parentUl");

三、js 动态添加元素img

<ul id="parentUl"></ul>

function addElementImg(obj) {var ul = documentgetElementById(obj);//添加 livar li =

documentcreateElement("li");//添加 imgvar img = documentcreateElement("img");//

设置 img 属性,如 idimgsetAttribute("id", "newImg");//设置 img 地址imgsrc =

"/images/prodjpg";

liappendChild(img);ulappendChild(li);}

调用:addElementImg("parentUl");

js获取元素方法有:

1、getElementById :根据指定的 id 属性值得到对象。返回 id 属性值等于 sID 的第一个对象的引用。假如对应的为一组对象,则返回该组对象中的第一个。

2、getElementsByName:getElementsByName(name)该方法与 getElementById() 方法相似,但是它查询元素的 name 属性,而不是 id 属性。

另外,因为一个文档中的 name 属性可能不唯一(如 HTML 表单中的单选按钮通常具有相同的 name 属性),所以getElementsByName() 方法返回的是所有匹配元素组成的数组,而不是一个元素。

3、getElementsByTagName:getElementsByTagName() 方法会使用指定的标签名返回所有的元素(作为一个节点列表),这些元素是您在使用此方法时所处的元素的后代。

getElementsByTagName() 可被用于任何的 HTML 元素

如果把特殊字符串 "" 传递给 getElementsByTagName() 方法,它将返回文档中所有元素的列表,元素排列的顺序就是它们在文档中的顺序。

传递给 getElementsByTagName() 方法的字符串可以不区分大小写。

假定数组名为a,则a[0]就是第一个元素。

var ary=[1,2,3,4];

var a=aryshift();//a=1;ary=[2,3,4];

arrayObjslice(start, [end])

slice 方法返回一个 Array 对象,其中包含了arrayObj 的指定部分。

参数:start,截取数组开始下标。end截止的下标,但不包括end元素

扩展资料:

JavaScript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译),但由于V8的核心部分多数用JavaScript撰写(而SpiderMonkey是用C++),因此在不同的测试上,两者性能互有优劣。

与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。

参考资料来源:百度百科-javascript

一、获取img标签的src属性值

var imgStr = "<p><img src='>

思路:用getElementsByTagName方法来实现。

片断代码如下:

<html>

<head>

<script type="text/javascript">

function getElements()

  {

  var x=documentgetElementsByTagName("input");

  alert(xlength);

  }

</script>

</head>

<body>

<input name="myInput" type="text" size="20" /><br />

<input name="myInput" type="text" size="20" /><br />

<input name="myInput" type="text" size="20" /><br />

<br />

<input type="button" onclick="getElements()" value="How many input elements" />

</body>

</html>

效果图如下:

定义和用法

getElementsByTagName() 方法可返回带有指定标签名的对象的集合。

要获取其他文件下的元素,那么当前页面和另外的页面必须有关联才可以。

比如要从iframe的子页面,获取父页面的元素可以这样写:

parentdocumentgetElementById('a1');

比如要从windowopen的页面中,获取父页面的元素可以这样写:openerdocumentgetElementById("a1");

以上就是关于js获取父级元素全部的内容,包括:js获取父级元素、js怎么根据class获取元素、js获取div里的元素个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://www.54852.com/web/10037713.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存