我试图在元素“”中找到一个 ID 为“”的元素,因此它是它的子元素。
我正在使用 $.find 方法执行搜索。
如果找到子对象,我想执行一些操作,如果找不到子对象,我想做不同的事情。
但是,即使我知道不存在这样的子元素,jQuery.find 方法报告了一个我不确定的对象,在 Watches 窗口中检查它是什么。
这是相关的代码片段:
function CreateResourceKeyTextBox(resourceKeyId, editMode) {
var resourceKeyTableCell = $("#tdKeyResourceKeyId" + resourceKeyId);
var resourceKeyNameTextBox = null;
var alreadyExistingResourceKeyNameTextBox = resourceKeyTableCell.find('#txtResourceKeyName' + resourceKeyId);
if (alreadyExistingResourceKeyNameTextBox != null && typeof alreadyExistingResourceKeyNameTextBox != "undefined") {
resourceKeyTableCell.html('');
resourceKeyNameTextBox = alreadyExistingResourceKeyNameTextBox;
resourceKeyNameTextBox.css('display', 'block');
resourceKeyNameTextBox.appendTo('#tdKeyResourceKeyId' + resourceKeyId);
resourceKeyNameTextBox.css('width', '96%');
}
最佳答案
jQuery 查询函数总是返回一个对象,即使没有匹配的 DOM 元素。
检查长度,如果集合中没有元素,它将是0
:
if (alreadyExistingResourceKeyNameTextBox.length ...
关于javascript - 即使 DOM 中没有匹配的子元素,jQuery.find() 也会返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223705/