Javascript 将类添加到<;tr>;车把手稿

Javascript 将类添加到<;tr>;车把手稿,javascript,jquery,handlebars.js,addclass,Javascript,Jquery,Handlebars.js,Addclass,有没有一种简单的方法可以将类添加到handlebar脚本中的表行中 现在我正在循环使用JSON,希望将pagenumber类添加到所有行中 for (var i = 0; i < allData.length; i++) { if (i % 10 == 0 && i != 0) { pageNumber++; } $('.tableRow').

有没有一种简单的方法可以将类添加到handlebar脚本中的表行中

现在我正在循环使用JSON,希望将pagenumber类添加到所有行中

for (var i = 0; i < allData.length; i++) {

        if (i % 10 == 0 && i != 0) {
            pageNumber++;                             
        }
        $('.tableRow').addClass('page' + pageNumber);
        console.log("page" + pageNumber);
    } 
for(变量i=0;i
.tableRow是一个
i我的把手脚本

这一切都很好,但我不能添加到该类。如果我尝试附加到脚本之外的类,效果会很好

HTML代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <link rel="stylesheet" type="text/css" media="screen" href="/includes/css/style.css" />
</head>
<body>
    <div class="wrapper">
        <div class="tab-container">

            <div class="tab-content">

                <div id="scriptData"></div>


                <script id="template" type="text/x-handlebars-template">


                        <table class="table-look">
                            <thead>
                                <tr>
                                    <th class="Header">Some data</th>
                                    <th class="Header">Some data</th>
                                    <th class="Header">Some data</th>
                                    <th class="Header">Some data</th>
                                </tr>
                            </thead>
                            <tbody>
                                {{#each this}}
                                <tr class="tableRow">
                                    <td">{{data}}</td>
                                    <td>{{data}}</td>
                                    <td>{{data}}</td>
                    <td>{{data}}</td>                               
                                </tr>
                    {{/each}} 
                            </tbody>                           
                        </table>
                </script>

            </div>
        </div>
    </div>

    <script type="text/javascript" src="includes/js/libs/jquery-1.11.3.min.js"></script>
    <script src="includes/js/libs/handlebars-v4.0.2.js"></script>
    <script type="text/javascript" src="includes/js/custom.js"></script>
</body>
</html>

一些数据
一些数据
一些数据
一些数据
{{{#每个这个}
试试这个

$(document).ready(function(){
   $(".table-look tr").each(function(index,row){
       // add your class here
       $(row).addClass("yourClass");
   });
});

我见过车把有点乱,但我自己从来没有用过——所以这似乎是一个很好的机会来掌握它

jQuery不会获取
中的任何元素。这里没有任何供jQuery使用的DOM元素——只有一些文本。这有点令人困惑,因为它看起来像普通的HTML元素,但它只是文本。这是一个剧本

您有2个选项-您可以选择:

  • 答:在呈现模板后,循环遍历DOM元素
  • B:用把手的
备选方案A:

$(document).ready(function () {
    var source = $("#template").html();
    var template = Handlebars.compile(source);
    var html = template(context);
    $('#foo').html(html);
    $('.tableRow').each(function(idx,o){
        $(this).addClass('page'+Math.floor(idx/2));
    });
});

备选案文B:

模板

<tr class = "tableRow {{#page-number}}page{{/page-number}}">

for循环是在$(fOnTeY){}中,请考虑编辑您的帖子,以添加更多关于您的代码所做的解释以及为什么它将解决这个问题。通常不会帮助OP理解他们的问题。如果答案只是猜测,也建议你不要发布答案。一个好的答案会有一个合理的理由来解释为什么它可以解决OP的问题。一定是累了什么的。解决问题的方法是,正如你提到的,将代码移动到Handlebar模板脚本下面
var fooItemNumber = 0;
Handlebars.registerHelper('page-number', function(items, options) {
    var out = "page";
    return out + Math.floor(fooItemNumber++/2);
});