javascript里获取div或ul元素的第一层li或div节点数组再获取第二层li数组再及以下节点如下

javascript里获取div或ul元素的第一层li或div节点数组再获取第二层li数组再及以下节点如下,第1张

项目中需要对iframe引用的网页进行样式修改,使用js的元素查询功能进行 *** 作,如图中希望对iframe中的ul高度进行 *** 作

//通过contentWindow来查询iframe内部元素

如果是id选择器则值选中一个元素,直接可使用,若使用class等选择器选择的为多个元素,即使实际只有一个元素也需要遍历

此 *** 作必须在windowonload = function(){}内进行

<div>

11

<ul>

<li>1</li>

<ul onmouseout="aa(this)"> <li>33</li></ul>

<li>2</li>

</ul>

</div>

<SCRIPT type=text/javascript>

function aa(obj)

{

alert(objparentNodeparentNodepreviousSiblingdata);//第一个11

alert(objpreviousSiblingdata);//第二个1

alert(objchildNodes[0]innerText);//第三个33

alert(objparentNodenextSiblinginnerText);//第四个2

}

</SCRIPT>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

 {

padding: 0;

margin: 0;

list-style: none;

border: 0;

}

all {

width: 500px;

height: 200px;

padding: 7px;

border: 1px solid #ccc;

margin: 100px auto;

position: relative;

}

screen {

width: 500px;

height: 200px;

overflow: hidden;

position: relative;

}

screen li {

width: 500px;

height: 200px;

overflow: hidden;

float: left;

}

screen ul {

position: absolute;

left: 0;

top: 0px;

width: 3000px;

}

all ol {

position: absolute;

right: 10px;

bottom: 10px;

line-height: 20px;

text-align: center;

}

all ol li {

float: left;

width: 20px;

height: 20px;

background: #fff;

border: 1px solid #ccc;

margin-left: 10px;

cursor: pointer;

}

all ol licurrent {

background: #DB192A;

}

#arr {

display: none;

}

#arr span {

width: 40px;

height: 40px;

position: absolute;

left: 5px;

top: 50%;

margin-top: -20px;

background: #000;

cursor: pointer;

line-height: 40px;

text-align: center;

font-weight: bold;

font-family: '黑体';

font-size: 30px;

color: #fff;

opacity: 03;

border: 1px solid #fff;

}

#arr #right {

right: 5px;

left: auto;

}

</style>

</head>

<body>

<div class="all" id='box'>

<!--相框-->

<div class="screen">

<ul>

<li>

<img src="images/41jpg" width="500" height="200" />

</li>

<li>

<img src="images/42jpg" width="500" height="200" />

</li>

<li>

<img src="images/43jpg" width="500" height="200" />

</li>

<li>

<img src="images/44jpg" width="500" height="200" />

</li>

<li>

<img src="images/45jpg" width="500" height="200" />

</li>

</ul>

<ol>

</ol>

</div>

<div id="arr">

<span id="left">&lt;</span>

<span id="right">&gt;</span>

</div>

</div>

<!-- <script src="commonjs"></script> -->

<script>

function my$(id) {

return documentgetElementById(id);

}

function setInnerText(element, content) {

if (typeof elementtextContent === "undefined") {

//IE浏览器

elementinnerText = content;

} else {

elementtextContent = content;

}

}

function animate(element, target) {

//先干掉定时器

clearInterval(elementtimeId);

elementtimeId = setInterval(function () {

//时时的获取元素的当前的位置

var current = elementoffsetLeft;

//每次移动的步数

var step = 10;

//设置每次移动的步数是正数还是负数

step = current < target  step : -step;

//移动后的当前的位置

current += step;

if (Mathabs(target - current) > Mathabs(step)) {

elementstyleleft = current + "px";

} else {

clearInterval(elementtimeId);

elementstyleleft = target + "px";

}

}, 20);

}

//获取最外面的div

var box = my$("box");

//获取相框

var screen = boxchildren[0];

//获取相框的宽度

var imgWidth = screenoffsetWidth;

//获取ul

var ulObj = screenchildren[0];

//获取ul中的li

var ulLiObj = ulObjchildren;

//获取ol

var olObj = screenchildren[1];

//获取的是左右焦点的div

var arr = my$("arr");

//获取左边的按钮

var left = my$("left");

//获取右边的按钮

var right = my$("right");

var pic = 0;

//页面加载后先创建小按钮,根据ul中的li个个数来创建li,把li加入到ol中

for (var i = 0; i < ulLiObjlength; i++) {

//创建li

var liObj = documentcreateElement("li");

//把li加入到ol中

olObjappendChild(liObj);

setInnerText(liObj, (i + 1)); //兼容代码

//为每个ol中的li添加一个自定义属性存储索引值

liObjsetAttribute("index", i);

//为每个li注册鼠标进入事件

liObjonmouseover = function () {

//先把ol中所有的li的背景颜色全部干掉

for (var j = 0; j < olObjchildrenlength; j++) {

olObjchildren[j]removeAttribute("class");

}

//设置当前鼠标进入的li有背景颜色

thisclassName = "current";

//移动ul

//获取鼠标进入的ol中的li的索引值

pic = thisgetAttribute("index");

animate(ulObj, -pic  imgWidth);

};

}

//第一个标签设置颜色

olObjchildren[0]className = "current";

//追加一个到ul中

ulObjappendChild(ulObjchildren[0]cloneNode(true));

//页面加载之后自动移动

var timeId = setInterval(f1, 1000);

//鼠标进入

boxonmouseover = function () {

arrstyledisplay = "block";

clearInterval(timeId);

}

//鼠标离开

boxonmouseout = function () {

arrstyledisplay = "none";

timeId = setInterval(f1, 1000);

}

//右边焦点

rightonclick = f1;

function f1() {

//判断是否到达最后一张

if (pic == ulLiObjlength - 1) {

//跳转到第一张

pic = 0;

ulObjstyleleft = -pic  imgWidth + "px";

}

pic++;

//调用动画函数

animate(ulObj, -pic  imgWidth);

//刷一遍

for (var i = 0; i < olObjchildrenlength; i++) {

olObjchildren[i]removeAttribute("class");

}

//第一个按钮的颜色

if (pic == ulLiObjlength - 1) {

olObjchildren[0]className = "current";

} else {

olObjchildren[pic]className = "current";

}

};

//左边焦点

leftonclick = function () {

//判断是否到达第一张

if (pic == 0) {

//跳转到第六张

pic = ulLiObjlength - 1;

ulObjstyleleft = -pic  imgWidth + "px";

}

pic--;

//调用动画函数

animate(ulObj, -pic  imgWidth);

//刷一遍

for (var i = 0; i < olObjchildrenlength; i++) {

olObjchildren[i]removeAttribute("class");

}

olObjchildren[pic]className = "current";

}

</script>

</body>

</html>

以上就是关于javascript里获取div或ul元素的第一层li或div节点数组再获取第二层li数组再及以下节点如下全部的内容,包括:javascript里获取div或ul元素的第一层li或div节点数组再获取第二层li数组再及以下节点如下、用js只获取第一层ul中的第一层的所有li,不影响第二层中的li、JS问题,让1个DIV高度等于屏幕高度,高度小于800不变,怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/10128368.html

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

发表评论

登录后才能评论

评论列表(0条)

保存