首页 新闻 会员 周边

javascript如何访问有特殊字符的dom属性?

0
悬赏园豆:5 [已解决问题] 解决于 2014-01-08 21:18
<LI class="bb-dotimg clearfix song-item-hook  " data-songitem='{"songItem":{"sid":30858778,"author":"Pierre Boulez","sname":"Figures, Doubles, Prismes"}}' sizset="9" jQuery17207283194979385978="7" sizcache06129649435184743="5"></LI>

如上的这段html代码,我已经获取对li对象的引用,假定为obj, 那如何获取data-songitem属性的内容呢?我引用obj.data-songitem引发了异常,提示没有这个属性。大侠给指点下?
空明流光的主页 空明流光 | 初学一级 | 园豆:106
提问于:2014-01-08 12:12
< >
分享
最佳答案
-1

没有一个答案是对的,我这中情况根本用不了jquery,我总不能为了获取这一个属性注入jquery。答案很简单:obj["song-item"]

空明流光 | 初学一级 |园豆:106 | 2014-01-08 21:16
1 var demo=dom document.querySelector('clearfix');
2 //你使用了html5的data,所以可以使用这种方式
3 console.log(demo.dataset.songitem);
4 //原生js
5 demo.attribute('data-songitem')//取出来的数据是字符串,需要你自己转换json

而你自己的方案,蠢到爆了,非常讨厌这种针对Element不太规范的写法。

linkFly | 园豆:91 (初学一级) | 2014-09-05 12:37

第一行代码写错了:

var demo=document.querySelector('.clearfix');
linkFly | 园豆:91 (初学一级) | 2014-09-05 12:38
其他回答(5)
0

<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script type="text/javascript" src="jquery-1.10.2.js"></script>
    <script type="text/javascript">
        $(function () {
           
            alert($("#lidata").attr("data-songitem"));
        });
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <li id="lidata" class="bb-dotimg clearfix song-item-hook  " data-songitem='{"songItem":{"sid":30858778,"author":"Pierre Boulez","sname":"Figures, Doubles, Prismes"}}' sizset="9" jquery17207283194979385978="7" sizcache06129649435184743="5">123</li>
        </div>
    </form>
</body>
</html>

这样可以 测试过了

收获园豆:2
wolfy | 园豆:2636 (老鸟四级) | 2014-01-08 13:08
0

 alert($("#lidata").attr("data-songitem"));

收获园豆:1
aehyok | 园豆:1212 (小虾三级) | 2014-01-08 13:12
0

obj.dataset.songitem

收获园豆:1
sam.c | 园豆:148 (初学一级) | 2014-01-08 13:15
0

如果是jq的话,像一楼的:var data = $("#lidata").attr("data-songitem");

js: var Div = document.getElementById("lidata");

var data = Div.getAttribute("data-songitem");

收获园豆:1
|WinKi| | 园豆:669 (小虾三级) | 2014-01-08 13:26
0

getAttribute("data-songitem");

乐享程序员 | 园豆:930 (小虾三级) | 2014-04-16 21:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册