JS中如何新建属性

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>QQ列表展开收缩扩展</title>
    <script>
        window.onload = function(){
            var oUl = document.getElementById('list'),
                aH2 = oUl.getElementsByTagName('h2'),
                aUl = oUl.getElementsByTagName('ul');
            

            for(var i=0; i<aH2.length; i++) {
                aH2[i].index = i;//**这里的index算是新建了一个属性吗?
                //JS中对象的属性可以这样直接新建吗: 对象.属性名=值?**
                //我只知道对象.属性名可以访问属性值。。
                aH2[i].onclick = function(){
                    for (var i=0; i<aH2.length; i++) {
                        aUl[i].style.display = 'none';
                        aH2[i].className = '';
                    }
                    
                }
            }..............................
........................................................

        }
    </script>
</head>
<body>
    <ul id="list">
        <li class="lis">
            <h2>我的好友</h2>
            <ul>
                <li>张三</li>
                <li>张三</li>
                <li>张三</li>
                <li>张三</li>
            </ul>
        </li>
        <li class="lis">
            <h2>企业好友</h2>
            <ul>
                <li>李四</li>
                <li>李四</li>
                <li>李四</li>
                <li>李四</li>
                <li>李四</li>
            </ul>
        </li>
        <li class="lis">
            <h2>黑名单</h2>
            <ul>
                <li>王五</li>
                <li>王五</li>
            </ul>
        </li>
    </ul>
</body>
</html>
阅读 2.7k
3 个回答

可以的,前提是你得声明对象,就比如 :

var a = [];
var a = new Object();    //这两种都可以
a.name = 'zhangsan';
console.log(a.name); 

上面这两种都可以

js对象自带get,set方法,通过 '.' 操作符可以调用之。

ps 也可以通过 :

const obj = {};
obj['value'] = 'test';
console.log(obj['value'])

a.attrName = attrValue;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题