如何使用jQuery访问在jQuery中创建的元素
How to access elements that were created in jQuery with jQuery
我使用jQuery创建元素,并在过程中为它们分配ID。在我的代码后面,我想通过它们的ID访问这些元素。但是,我无法使用jQuery来实现这一点。如果我只使用核心JS,它是有效的。为什么会这样?
var createTable = function(rows, columns, height, width) {
var $table = $("<table>");
$("body").append($table);
for (var i = 1; i < rows + 1; i++) {
var $tr = $("<tr>");
$table.append($tr);
for (var j = 1; j < columns + 1; j++) {
var $td = $("<td>", { id: i + "." + j });
$td.css("height", height + "px").css("width", width + "px")
.css("border", "1px black solid");
$tr.append($td);
}
}
}
createTable(4, 4, 150, 100);
不起作用:
$("#1.1").css("border", "1px red solid");
作品:
var onePointOne = document.getElementById("1.1");
onePointOne.style.border = "1px red solid";
点在选择器中有特殊的含义:它们是类选择器。您需要逃离该点才能找到正确的id:
$('#1''.1')...
.
运算符表示类,因此它将搜索id 1,它是类1,但您没有访问这些,但您的id包含.
一个元字符,您需要使用斜线来转义该元字符:
$("#1''.1").css("border", "1px red solid");
点击这里查看更多信息
但我建议你不要对你的id使用.
运算符,你可以像1-1
那样分配它,你可以很容易地像$('#1-1')
那样访问它
更重要的是,我建议您不要使用从数字开始的id。
试试这个,它会起作用:
$("#1''.1").css("border", "1px red solid !important");
相关文章:
- jquery创建的数据-*有时无法解析
- 如何通过解析类信息来使用jQuery创建类
- 使用JavaScript或jQuery创建序列步骤[动画]
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 将值传递给jquery创建的输入字段
- 使用Jquery创建一个具有单击和悬停功能的菜单
- 如何使用jquery创建列表
- 懒惰加载:如何使用jquery创建懒惰加载html页面
- 使用jQuery创建具有不同类名或ID的多个元素
- Meteor:使用Jquery创建对话框
- 使用 jQuery 创建可单击的行并排除子元素
- jQuery 创建多级无序列表
- 使用 JQuery 创建 Java 对象
- 使用jquery创建并复制一个选择框
- Jquery - 创建动态名称选择器
- 如何将从jQuery创建的数组传递给控制器方法
- 如何使用jquery创建自定义弹出窗口
- 用C#管理jquery创建的复选框
- 使用jquery创建图像序列
- JQuery-创建元素并将其连接到其他html