【发布时间】:2015-05-14 19:44:15
【问题描述】:
我正在尝试获取某些元素的数据属性,但是在创建对象时,尚未加载元素(我理解)。我的问题是什么是最好的(或任何)解决方案,因为我需要在两个不相互交互的独立函数中使用这个对象?
function Data_Num_Array(){
this.data_num_array=$("*[data-num]");
}
Data_Num_Array.prototype.get_data_num_array_element=function(string_val){
var data_num_of_element;
for(var i=0;i<this.data_num_array.length;i++){
if(this.data_num_array[i].id===string_val){
data_num_of_element=$(this.data_num_array[i]).attr("data-num");
break;
}
}
return data_num_of_element;
};
function call_me(){
console.log(obj.get_data_num_array_element("div"));
}
如果这里有语法错误,这不是问题,这只是针对问题的情况。
var obj=new Data_Num_Array();
$(document).ready(function(){
console.log(obj.get_data_num_array_element("div"));
});
$("#click").click(function(){
console.log(obj.get_data_num_array_element("click"));
});
<html>
<head>
</head>
<body>
<div id="div" data-num="1"></div>
<button id="click" data-num="2"></button>
</body>
</html>
【问题讨论】:
标签: javascript jquery object attributes prototype