javascript - 如何根据类名获取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;
}
});
}
解决方案
我认为您想从类名中获取元素的 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})