js中关于获取元素属性的方法(object.style.width)

js中关于获取元素属性的方法(object.style.width),第1张

改成w=woffsetWidth;

js获取Html元素的实际宽度高度

第一种情况就是宽高都写在样式表里,就比如#div1{width:120px;}。这中情况通过#div1stylewidth拿不到宽度,而通过#div1offsetWidth才可以获取到宽度。

第二种情况就是宽和高是写在行内中,比如style="width:120px;",这中情况通过上述2个方法都能拿到宽度。

小结,因为idoffsetWidth和idoffsetHeight无视样式写在样式表还是行内,所以我们获取元素宽和高的时候最好用这2个属性。注意如果不是写在行内style中的属性都不能通过idstyleatrr来获取。

现在的前端制作很少直接把样式写style里了,都是写在样式表里。如果你要获取的样式没有相对应的(就像#div1stylewidth对 应#div1offsetWidth),就只能分别针对不用浏览器来获取样式表的属性了,可以试着搜索“JS 获取样式属性”之类的。

思路:用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() 方法可返回带有指定标签名的对象的集合。

我写了代码如下, 测试可行, 供参考:

//主要靠这个函数实现: 将body下的文本节点中的searchWord, 替换为replaceWord

function replaceBodyText(searchWord, replaceWord){

    var reg = new RegExp(searchWord, 'g');

    function replaceNode(node){

        nodechildNodesforEach(function(v){

            if(vnodeName === 'SCRIPT')

                return; //排除<script>标签

            if(!vhasChildNodes()){

                if(regtest(vtextContent))

                    vtextContent = vtextContentreplace(reg, replaceWord);

                return;

            }

            replaceNode(v);

        });

    }

    replaceNode(documentbody);

}

//绑定一个事件测试用, 点击这个按钮后才会执行;

documentquerySelector('#testBtn')addEventListener('click', function(){

    replaceBodyText('中国', '美国');

});

//实际使用中直接调用函数即可:

//以下语句表示将所有文本节点中的"中国"替换为"美国:

//replaceBodyText('中国', '美国');

button1 我想你这里是一个input 标签对吧?

如果是的话~ 这就知道为什么错了。

input 标签叫表单元素,所谓表单元素就是说是与 form标签一起使用的,

并且是<form>标签的子元素。

如果你这里结构是这样的:

<body>

<form action="#" id="form1">

<input type="button" id="button1"/>

</form>

</body>

要访问就得documentform1button1

function resets()

{

var controls = documentgetElementsByTagName('input');

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

if(controls[i]type=='text'){

controls[i]value='';

}

}

}

这个例子是遍历页面所有text并赋空值,你可以根据你的需要稍作修改就可以了。

以上就是关于js中关于获取元素属性的方法(object.style.width)全部的内容,包括:js中关于获取元素属性的方法(object.style.width)、js如何获取页面 元素、js获取网页当中body里所有标签里面的指定汉字并进行批量替换等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存