我遇到了类和id的情况,但我需要在jQuery中传递一个变量。你怎么推荐?
HTML
<input
type="text"
id="cannot_change_this"
class="rather_not_append_extra_classes_just_for_a_variable"
value="Full Text Name"
hash="ABCDE">
通过自动填充选择的每个值都有一个关联的哈希值。在上面的示例中,值可能是Full Text Name
,但这不是唯一的。我真正需要传递的是哈希:ABCDE
。
我无法更改ID,我宁愿不添加额外的类,也不得不过滤掉用于样式的样式来获取哈希值。因为它是input
我也不能使用.text()。
我怎样才能将ABCDE
哈希传递给jQuery?
答案 0 :(得分:2)
使用jQuery的数据方法
http://api.jquery.com/jQuery.data/
您可以在javascript中计算值的哈希值,然后将其设置为输入数据。
此外,如果使用HTML5,您可以在HTML中专门声明数据属性。因此,您可以使用data-hash=HASH
之类的属性来设置数据。
或者,如果你不关心依赖或者你没有使用HTML5,你可以设置自己的属性,如
<input type="text" id="cannot_change_this"
class="rather_not_append_extra_classes_just_for_a_variable"
value="Full Text Name" hash="ABCDE" />
用jQuery读取它:
var hash = $('input#idOfInput').attr('hash');
答案 1 :(得分:1)
如果我做对了。
设定值:
$("#cannot_change_this").data("hash", hashValue);
稍后获取值:
$("#cannot_change_this").data("hash");
答案 2 :(得分:1)
您可以使用title属性:
<input type="text" id="cannot_change_this"
class="rather_not_append_extra_classes_just_for_a_variable"
value="Full Text Name"title="ABCDE" />
它是所有输入的标准属性。
答案 3 :(得分:0)
你可以拥有类似的东西:
jQuery(document).ready(function(){
//SET:
jQuery("#cannot_change_this").attr("new-value", "ABCDE");
//READ:
var val = jQuery("#cannot_change_this").attr("new-value");
alert(val);
});