在jQuery中动态获取id

Posted

技术标签:

【中文标题】在jQuery中动态获取id【英文标题】:Get dynamically id in jQuery 【发布时间】: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');
            
        

    
);
);
 

【问题讨论】:

【参考方案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');
        
    


); );

【讨论】:

对不起,但我认为在调用的每一行回调上创建一个新的事件处理程序是一个非常糟糕的主意。

以上是关于在jQuery中动态获取id的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 如何通过 ID 选择器 获取动态ID

jquery 动态创造div的并创建不同的id值

jquery怎样获取动态增加的img标签的id

jQuery 不选择具有动态 ID 的元素,如何做到这一点?

JQuery获取append后的动态元素

当每个下拉列表动态创建ID时,jquery选择选项数据和值[关闭]