jquery如何获取动态创建的且还没有放入dom的元素的宽度

jquery如何获取动态创建的且还没有放入dom的元素的宽度,第1张

只有在DOM元素被渲染了之后,才能获取元素实际的宽高。

换句话说,如果元素还未插入DOM树里,就不可能走到渲染这一步,更不可能拿到元素的宽和高。

综上所述,你只能通过在DOM中插入元素,之后再获取已经渲染好的元素的宽高。

这种方法是对的,不过前提是:你必须有足够权限访问 iframe Docuemnt —— 同域

例如,indexhtml 和 my_framehtml 都在同一域名下,或都在桌面,这样可以

但如果你把 iframe 的 src 换为百度网址,就会出现类似下面的错误

Permission denied to access property 'getElementById'

无权访问 'getElementById' 属性

如果你的情况是后者,那就没有解决办法。如果是前者,可能你的代码中有错误。

<tspan x="205" id="tspan1" >34</tspan> ,加个ID tspan1

js:

var el=documentquerySelector("#tspan1");

alert( eloffsetWidth )

alert( eloffsetHeight)

function sunWidth(){

    var w1 = 0;

    var $lis = $(this)children("ul")children("li")

    $liseach(function(){

     w1 += thisouterwidth(/true/);//参数true表示包括边距(margin);

    });

    return w1;

}

alert (sunWidth())

给你说下思路,

documentgetElementById("top")rowslength可以获得top表的行数

documentgetElementById("top")rows[0]cellslength可以获得top表的第一行的列数

documentgetElementById("top")rows[0]cells[0]offsetWidth可获得top表第一行第一列的实际宽度,(注意,这个是只读的!)

所以

for(var i=0;i<documentgetElementById("top")rows[0]cellslength;i++)

{

documentgetElementById("buttom")rows[0]cells[i]width=documentgetElementById("top")rows[0]cells[i]offsetWidth;

}

希望对你有帮助!

常用div宽度获取 domoffsetWidth:只读属性,返回元素的布局宽度数值(int)(content + padding + border),此数值为四舍五入后的整数 domgetBoundingClientRect()width:只读属性,返回元素的布局宽度数值(int)(content + padding + border),此数值不会四舍五入 windowgetComputedStyle(dom)width:只读属性,返回元素内容宽度的数值和单位(string)(content) domscrollWidth:只读属性,返回全部content+ padding 的宽度数值(int) domclientWidth:只读属性,返回元素内容可视区域的宽度(content + padding)

并没有getElementByClassName()这个函数,只有getElementsByClassName(),Element后面有个s,这个返回来是多个节点的集合(因为class名有可能匹配到多个),假设只有1个元素用这个class名,那么要改变宽度可以:

var a=documentgetElementsByClassName("a");

a[0]stylewidth="500px";

望采纳,谢谢

以table为例,首先为其设计class或者id如:id为table

然后进入js中

定义一个对象

var table=documentgetelementbyid("table")

这是获取这个元素

然后宽和高

就是tablewidth

tableheight

以上就是关于jquery如何获取动态创建的且还没有放入dom的元素的宽度全部的内容,包括:jquery如何获取动态创建的且还没有放入dom的元素的宽度、如何获取页面iframe元素内容的高、宽、如何获取svg里面的元素的宽度和高度等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存