首页 > 解决方案 > 如何根据类名获取Id的元素

问题描述

我需要根据类 div 名称获取 div 标签的 Id 吗?

 function AddActionTableRow() {
        actionTableRowCount++;
        actionItemRowDictionary[actionTableRowCount] = true;
        var rowHtml = "<tr class='actionTableRow actionTableRow" + actionTableRowCount + "'>   <td class='actionTableField' id='actionTableField1'>" + actionTableRowCount + "</td> <td class='actionTableField' id='hiddenActionTableField'>" + 0 + "</td>   <td><input class='actionTableField' id='actionTableField2' type='text'/></td>      <td><select onchange='this.className=this.options[this.selectedIndex].className' class='actionTableField' id='actionTableField3'>    <option value='  --Select--  ' selected disabled>  --Select--  </option>    <option class='blue' value='Category-1'>Category-1</option>     <option class='green' value='In Progress'>Category-2</option>     <option class='yellow' value='Minor Risk'>Category-3</option>     <option class='red' value='Major Risk'>Category-4</option>     </select></td>      <td><select onchange='this.className=this.options[this.selectedIndex].className' class='actionTableField' id='actionTableField4'>    <option value='--select--' selected disabled>  --Select--  </option>    <option class='blue' value='Completed'>Category-1</option>     <option class='green' value='In Progress'>Category-2</option>     <option class='yellow' value='Minor Risk'>Category-3</option>     <option class='red' value='Major Risk'>Category-4</option>     </select></td>      <td><input class='actionTableField' id='actionTableField5' type='text'/></td>    <td><input class='actionTableField' id='actionTableField6' type='text'/></td>  <td><input class='actionTableField' id='actionTableField7' type='text'/></td>   <td><input type='text' id='actionTableField8' class='actionTableField' /></td>   <td><button onclick='DeleteActionItemRow(this)'  class=' actionTableField actionItemDelete actionItemDelete-" + actionTableRowCount + "  '><i class='fa fa-trash-o' style='border-radius:.30rem'   ></i></button></td> </tr>";
        $("#actionTableFoot").append(rowHtml);
        var className = ".actionTableRow" + actionTableRowCount + " #actionTableField2";
        alert(className);
        $(className).focus();
        alert("wdfs");;
        var picker = new Lightpick({

            //field: document.getElementById('actionTableField8'),
            //field: document.getElementsByClassName('actionTableRow actionTableRow' + actionTableRowCount).getElementById('actionTableField8'),
            
            singleDate: false,

            onSelect: function (start, end) {
                var str = '';
                str += start ? start.format('Do MMMM YYYY') + ' to ' : '';
                str += end ? end.format('Do MMMM YYYY') : '...';
                document.getElementById('actionTableField8').innerHTML = str;
                
              
            }
        });
    }
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊

标签: javascriptjqueryhtml

解决方案


我认为您想从类名中获取元素的 id,您可以通过以下方式实现它,

<div id="testId" class="testClass"></div>
$(document).ready(function() {
    alert($('.testClass').attr('id'));
}); 

但请记住,类可以在多个地方使用,所以如果你想要具有相同类名的所有元素的 id,你可以

var retval = []
$('selector').each(function(){
  retval.push($(this).attr('id'))
})
return retval

或使用地图

return $('.selector').map(function(index,dom){return dom.id})

推荐阅读