在控制台DOM中插入HTML代码后出现错误(Chrome浏览器)

Error after insert HTML code in DOM in console (Chrome browser)

本文关键字:错误 Chrome 浏览器 DOM 控制台 插入 代码 HTML      更新时间:2023-09-26

room["html"] = $(this).parents(".selectRowRoom").html();.thisRoom加载step-02.php后插入一行HTML,但此错误是在控制台

$(function () {
var hotel = [];
var lenHotel = 0;
$('#forPrice').on('click', function() {
    $('select').each(function() {
        if($(this).val() > 0 && $(this).val() < 10) {
            var room = {};
            room["room"] = $(this).attr('room');
            room["price"] = $(this).attr('price');
            room["val"] = $(this).val();
            room["html"] = $(this).parents(".selectRowRoom").html();
            hotel.push(room);
        }
    });
    lenHotel = Object.keys(hotel).length;
    console.log(hotel);
});
$('#forPrice').click(function () {
    $('#Step-01').hide();
    $('#Step-02').show();
    $('.hiddenAndShow').hide();
    $( "#Step-02" ).load( 'step_02', function () {
        for(var i = 0; i <= lenHotel; i++) {
            $("#Step-02").find('.thisRoom').append("<tr class='"selectRowRoom'">");
            $("#Step-02").find('.thisRoom').append(hotel[i]['html']);
            $("#Step-02").find('.thisRoom').append("</tr>")
        }
    });
});
})

控制台的错误是:

Uncaught TypeError: Cannot read property 'html' of undefined

这个…

 for(var i = 0; i <= lenHotel; i++) 

应该是这个

for(var i = 0; i < lenHotel; i++) 

访问数组中不存在的元素