【问题标题】:Get dynamically id in jQuery在jQuery中动态获取id
【发布时间】:2021-10-21 22:29:00
【问题描述】:

目标是动态检索jquery代码中的id,以便单击href为表中具有相同值的项目着色 下面的代码仅使用一个 id 完成。 链接是使用 smarty 中的 foreach 循环动态生成的。 如何更改 Js 代码以动态检索我的 ID,最后当您单击链接时,它会为 lou 行中的所有内容着色是搜索到的单词。 Smarty HtML 代码:

    {foreach from=$translateArray key=key item=value}
     {if $key == $k}
         <a href="#" classe="inactiveLink" id="id_{$k}" style="color:#000080";>{$value}</a> 
         ({$val}) |
     {/if}
    {/foreach}

带有 id="id_single" 的 Jquery(dataTable)

$(document).ready(function () {
var table = $("#my_table").DataTable({
    "rowCallback": function (row, data) {

        $('#id_single').on('click', function () {
            var value = $("#id_single").text();// How to get id dynamically here
            console.log(value);
            highLight(value, row);
        });

        function highLight(value, row) {
            $(row).css('color', 'unset');
            $(row).css('font-weight', 'unset');

            if (data[2] === value) {
                $(row).css('background-color', 'lightblue');
                $(row).css('font-weight', 'bold');
            }
        }

    }
});
});
 

【问题讨论】:

    标签: javascript jquery datatables smarty


    【解决方案1】:

    你可以像这样使用类

    {foreach from=$translateArray key=key item=value}
     {if $key == $k}
         <a href="#" classe="inactiveLink id_single"  style="color:#000080";>{$value}</a> 
         ({$val}) |
     {/if}
    {/foreach}
    $(document).ready(function () {
    

    var table = $("#my_table").DataTable({ “rowCallback”:函数(行,数据){

        $('.id_single').on('click', function () { // first change
            var value = $(this).text();// second change
            console.log(value);
            highLight(value, row);
        });
    
        function highLight(value, row) {
            $(row).css('color', 'unset');
            $(row).css('font-weight', 'unset');
    
            if (data[2] === value) {
                $(row).css('background-color', 'lightblue');
                $(row).css('font-weight', 'bold');
            }
        }
    
    }
    

    }); });

    【讨论】:

    • 对不起,但我认为在调用的每一行回调上创建一个新的事件处理程序是一个非常糟糕的主意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多