【问题标题】:jquery html to object in each arrayjquery html到每个数组中的对象
【发布时间】:2023-04-04 20:19:02
【问题描述】:
<script type='text/javascript' src='//ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js'></script>
<script type="text/javascript">
    jQuery(document).ready(function(){
        var a = $('#result').html();
                //var a = ['a','b','c','d','e'];
        $.each($.parseHTML(a), function(b){
            alert(b);
        });
    });
</script>
<body>
<div id="result">['a','b','c','d','e']</div>
</body>

如何将html转为字符串?实际上 div#result 在 ajax 回调数据中,我想读取 div#result 然后使用 $each 解析这个数组,但是这段代码只返回第一个值然后停止。如何以正确的方式去做?谢谢。

【问题讨论】:

    标签: jquery html arrays object each


    【解决方案1】:

    尝试使用JSON.parse

    确保您以 JSON 格式 " 获得正确的 JSON 数据

    <body>
    <div id="result">['a','b','c','d','e']</div>
    </body>
    
    
    jQuery(document).ready(function(){
        var a = $('#result').html();
         a=a.replace(/'/g, '"');
        alert(a);
    
        $.each(JSON.parse(a), function(b){
            alert(b);
        });
    });
    

    JSFIDDLE

    注意:如果您使用的是 IEhttps://github.com/douglascrockford/JSON-js/blob/master/json2.js

    【讨论】:

    • Uncaught TypeError: Object # has no method 'Parse'
    • @fishman,对于 JSON 数据,需要用 " 双引号括起来。检查小提琴
    • 应该是小P,不是大写。
    • @fishman 如果它是受信任的数据,您可以考虑使用 eval() 这是邪恶的,但如果您可以信任数据,请考虑使用它
    • @fishman 但要注意与之相关的安全风险
    猜你喜欢
    • 2017-11-01
    • 2011-10-12
    • 2016-10-24
    • 2010-12-18
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多