我需要获取数组ID并将此id号放入var pointerid =(数组中的id号);
我正在使用此代码来存储元素中的cliked id:
jQuery('a').click(function(){
var clickedId= $(this).attr("id");
现在我想搜索'元素' :'等于clickedId',如果是,则获取数组ID。
例如:
clickedId = test
wp_button_pointer_array [1] = {
'元件' :'测试'
所以这里'元素' :'测试' = clickedId(test)然后给我数组ID。这里的数组ID是1
var wp_button_pointer_array = new Array();
wp_button_pointer_array[1] = {
'element' : 'wp-button-pointer',
'options' : {
'content': 'The HTML content to show inside the pointer',
'position': {'edge': 'top', 'align': 'center'}
}
};
wp_button_pointer_array[2] = {
'element' : 'some-element-id',
'options' : {
'content': 'The HTML content to show inside the pointer',
'position': {'edge': 'top', 'align': 'center'}
}
};
答案 0 :(得分:1)
我不确定我理解你的问题,但这是你正在尝试做的事情吗?
function findElementIdByName(arr, name) {
for (var i = 0; i < arr.length; i++)
if (arr[i].element == name)
return i;
return -1; //not found
}
//example call with your data
var eleId = findElementIdByName(wp_button_pointer_array, 'some-element-id');
旁注:javascript中的数组索引从0开始,你可以使用new Array(),但由于javascript解释器中的词法解析,[]稍微快一些(平均comp大约80ms)
答案 1 :(得分:0)
var wp_button_pointer_array = [
{
'element' : 'wp-button-pointer',
'options' : {
'content': 'The HTML content to show inside the pointer',
'position': {'edge': 'top', 'align': 'center'}
}
},
{
'element' : 'some-element-id',
'options' : {
'content': 'The HTML content to show inside the pointer',
'position': {'edge': 'top', 'align': 'center'}
}
}
];
$('a').on('click', function(){
var clickedId = $(this).attr("id");
for(var i = 0; i < wp_button_pointer_array.length; i++ ) {
if(wp_button_pointer_array[i].element === clickedId) {
//do staff with wp_button_pointer_array[i]
}
}
});
答案 2 :(得分:0)
这将返回包含给定element
属性的索引。
function getIndexByElementId(elementArray, elementId) {
var i, len;
for(i = 0, len = elementArray.length; i < len; i++) {
if(elementArray[i].element === elementId) {
return i;
}
}
}