你可以完成你想要做的事情,但你应该几乎可以肯定地使用数据属性。
而是数据打包到您的id
属性,而是使用独立的data-
属性:
<div id="my-div" data-type="2" data-owner="6" data-page="1" />
jQuery的为您提供了一个非常简单的语法来访问一个元素的数据属性:
$('#my-div').data('type'); // "2"
$('#my-div').data('owner'); // "6"
$('#my-div').data('page'); // "1"
或者改变/添加新的数据属性:
$('#my-div').data("name", "bob"); // <div .... data-name="bob" />
如果您无法添加数据属性您的标记(如果,例如,你只消费HTML,而不是生成它),你可以使用正则表达式来拉id
属性分开:
var id = "type=2owner=6page=1";
id.match(/type=(\d+)/); // ["type=1", "1"]
id.match(/owner=(\d+)/); // ["owner=6", "6"]
id.match(/page=(\d+)/); // ["page=2", "2"]
以上任何一项都将返回一个两元素数组,其中第二个元素是所讨论的数字。
它会一直是一个数字吗?你怎么知道在2之后停止,并且'owner'不是'pr-type'的一部分? – sachleen 2012-07-27 00:29:05
为什么不使用像“数据类型”这样的属性来存储这些值? – V1tOr 2012-07-27 00:29:52
@ V1tOr谢谢 - 我会研究一下 – Mike 2012-07-27 00:32:10