求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值

求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值,第1张

这个太简单了吧,先设置父元素,overflow:hidden;

收起的时候,height:0;

点开的时候 height:auto;

另外最好不要用绝对定位,这样会让布局更麻烦

哦,补充一下,如果还有爷爷级的话同样要给设置overflow:hidden;

应为这样才能形成BFC(块级格式化上下文)

不然的话会撑不开

你的子页面是一个iframe吗?如果是这样,你可以往iframe的url传入一个参数如btnid:

>

我还是写个简单的例子吧:

父页面的js:

$("btn")click(function(){

    $("#child-frame")src=">});

子页面的js:

var id = locationsearchsubstr(1);

非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语言规范来写当然会报错。

documentgetElementById("") 里边就不要用 +拼接符了,而且后边不是document,而是直接一个点就可以了。

for 循环也有问题。

不要用O=0;这样难以区分,养成好的习惯

var sstab = documentgetElementById('yearr')getElementsByClassName("stab");

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

var rowss = sstab[i]rows; //rows 十个什么鬼

for (var k = 0; k < rowsslength; k++){

// for 循环是标准的 for(){} 括号加大括号 你这又少个大括号是什么意思。

}

{

看来你基础还很薄弱,继续加油吧,帮你看 也是在提升自己。

还有养成

consolelog() ,还有 alealert () 检查代码的习惯,因为你写了一大串然后看报错了找死你,都不知道哪里错了,浪费时间

没有直接获取子元素在父元素的序号的方法,需要去循环比对的。

不过,你在循环设置className的时候可以直接把要控制div保存给要被点击的div呀,这样效率高得多

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

first[i3]className='no_click'; //

first[i3]controlTo = second[i3] ;

second[i3]className='no_display';

}

这样first里面的div被点击,只要 被点击的divcontrolTo 就能得到对应的要显示的second组的标签了,非常方便,执行效率也很高。

比如 某个div被点, 只要

thclassName = "click" ;

thcontrolToclassName = "display" 即可 ;

<script type="text/javascript" src="/scripts/jquery-172minjs"></script>

<script >

$("li")click(function(){

alert($(this)text())

})

</script>

字符串有length属性,是获取字符串的长度

数组也有length属性,是获取数组的长度。

jquery对象是类数组对象,可以直接使用数组的相关方法,也可以使用 $('div')size() 来获取元素数量

别搞混了

parentNodechildNode:

parentObjfirstChild:如果节点为已知节点(parentObj)的第一个子节点就可以使用这个方法。这个属性是可以递归使用的,也就是支持parentObjfirstChildfirstChildfirstChild的形式,如此就可以获得更深层次的节点。

以上就是关于求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值全部的内容,包括:求一段JS 获取子元素自适应高度值并赋予其父元素相同的高度值、怎么用js在子页面中获取到父页面的元素的id、js怎么根据class获取元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存