javascript - Jquery:迭代表。问题= "Cannot read property ' 0' of undefined"

标签 javascript jquery html

我再次提出我的问题。

我正在尝试在 jquery 中迭代一个表。如果表有 id,我的下面的代码就可以工作。但是,如果我的代码如下所示,它就不起作用。

我只是想定位一个表,迭代它并找到一个包含类“price”的范围,其中包含文本“8”。但我首先在 for 循环中收到错误“无法读取未定义的属性 '0'”。

这是我的代码。

<html class=" reevoomark_ATY">
    <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Special Offers</title>
        <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="crossorigin="anonymous"></script>
    </head>
    <table class="table">
        <tr>
            <td><span class="price">one</span></td>
            <td><span class="price">two</span></td>
            <td><span class="price">three</span></td>
            <td><span>X</span></td>
        </tr>
        <tr>
            <td><span>four</span></td>
            <td><span>five</span></td>
            <td><span>six</span></td>
            <td><span>X</span></td>
        </tr>
        <tr>
            <td><span>seven</span></td>
            <td><span class="price">eight</span></td>
            <td><span>nine</span></td>
            <td><span>X</span></td>
        </tr>
        <tr>
            <td><span>ten</span></td>
            <td><span>eleven</span></td>
            <td><span>twelve</span></td>
            <td><span>X</span></td>
        </tr>
    </table>
    <div id="dark">
        <table class="table">
                <tr>
                    <td><span class="price">one</span></td>
                    <td><span class="price">two</span></td>
                    <td><span class="price">three</span></td>
                    <td><span class="price">X</span></td>
                </tr>
                <tr>
                    <td><span class="price">four</span></td>
                    <td><span class="price">five</span></td>
                    <td><span class="price">six</span></td>
                    <td><span class="price">X</span></td>
                </tr>
                <tr>
                    <td><span class="price">seven</span></td>
                    <td><span class="price">eight</span></td>
                    <td><span class="price">nine</span></td>
                    <td><span class="price">X</span></td>
                </tr>
                <tr>
                    <td><span class="price">ten</span></td>
                    <td><span class="price">eleven</span></td>
                    <td><span class="price">twelve</span></td>
                    <td><span class="price">X</span></td>
                </tr>
            </table>
    </div>
    <script>
        $(document).ready(function(){
            var table = $('#dark').find('.table');
            //console.log($(table).attr('class'));
            for (var i = 0, row; row = $(table).rows[i]; i++) {
            for (var j = 0, col; col = row.cells[j]; j++) {
                var price = $(this).find('.price').text();
                if(price == 'eight'){
                    $(this).find('.price').parent().next().addClass('removeMe');
                }
            }  
            }
        });
    </script>
<body>
</body>

最佳答案

我认为你不需要迭代任何东西。只需使用 jquery 选择器和过滤器函数即可。

$(document).ready(function() {
   $('table td .price').filter(function() {
     return $(this).text() == 'eight'
   }).parent().next().addClass('removeMe');
 });

https://jsfiddle.net/4s9ve25d/

关于javascript - Jquery:迭代表。问题= "Cannot read property ' 0' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51180531/

相关文章:

javascript - 剑道用户界面 : create flowchart with diagram widget?

javascript - 弹出窗口未显示在表行内的按钮中

php - 如何将文本区域值插入数据库?

javascript - typescript /Jquery : accesing the class in a inner Jquery scope

javascript - 如何在 Phantomjs 中使用 jQuery 选择 html 元素?

javascript - 使用滚动条水平和垂直居中内容?

javascript - Jquery:不能淡入 <span> 元素

php - 保持 select from wordpress 循环的值

jquery - Windows Phone 设备上 phonegap/cordova 上的选择标签问题

html - 添加自动幻灯片已创建水平滚动?