【发布时间】:2016-08-29 14:18:44
【问题描述】:
我的 html 代码有 X 个元素,它们的 id 格式如下:
viewer_mX
这里,X 是一个从 1 到 m 的数字(m 每次可以不同)。
当有人单击这些元素之一时,我想使用 javascript 获取相应元素的编号 X。
我意识到我可能应该使用包含数字的类 (.viewer) 和 id (#x)。但是,我正在使用一个库来生成 html 元素,并且我被这个协议所困扰,并且必须充分利用它。
这是我目前拥有的 javascript:
$(document).ready(function () {
$("#viewer>...").click(function () {
x = ...
var number = x;
});
});
此代码中缺少的部分(由 3 个点表示)是查看器不是完整的 ID,但可能会被附加一些东西。我想存储单击的 div 之后的任何数字,但我不知道要使用哪个函数。
【问题讨论】:
-
为什么不使用类来识别元素,然后使用数据属性(例如data-id),然后获取该数据属性的值?
-
使用数据属性,简单多了...
-
否则我会亲自使用 $(this).attr('id').substr("viewer_m".length);不再需要魔法:)
-
I want to do in AJAX... 什么?你可以在 JavaScript 中做事,但不能在 AJAX 中! -
我猜另一种方法是使用索引:
var number = $(this).index() + 1;。但这只是不好的解决方法,而是使用data-*属性
标签: javascript jquery html css ajax