Javascript 在函数中将HTML5数据属性作为参数传递
我希望使用Javascript将HTML5数据属性传递给参数。我的问题是,如果我把一个值传递给参数,它不会去寻找那个特定的值,而是已经从全局变量中设置好了 例如,我有一个带有Javascript 在函数中将HTML5数据属性作为参数传递,javascript,html,oop,custom-data-attribute,Javascript,Html,Oop,Custom Data Attribute,我希望使用Javascript将HTML5数据属性传递给参数。我的问题是,如果我把一个值传递给参数,它不会去寻找那个特定的值,而是已经从全局变量中设置好了 例如,我有一个带有 data-request="Five" 我想通过考试 requestResponses.init('URLHERE', 'Five'); 并仅以5作为元素的目标,以使选择器成为 .cp_trafficLight[data-request="Five"] .cp_trafficLight_Light--greenDimm
data-request="Five"
我想通过考试
requestResponses.init('URLHERE', 'Five');
并仅以5作为元素的目标,以使选择器成为
.cp_trafficLight[data-request="Five"] .cp_trafficLight_Light--greenDimmed'
目前,我只是获取HTML5数据属性值,并使用
targObj = $('.cp_trafficLight').data("request");
我知道这可能是一个简单的答案,但我似乎无法破解它。我所有的代码都贴在下面,我也会贴一把小提琴,以便于视觉效果
targObj = $('.cp_trafficLight').data("request");
var requestResponses = {
targSel: '.cp_trafficLight[data-request=' + '"' + targObj + '"' + ']' + ' ',
greenLight: '.cp_trafficLight_Light--greenDimmed',
redLight: '.cp_trafficLight_Light--redDimmed',
greenBright: 'cp_trafficLight_Light--greenBright',
redBright: 'cp_trafficLight_Light--redBright',
settings: {
flashError: 400,
requestTime: 10000
},
init: function (url, targObj) {
requestResponses.url = url;
requestResponses.getResponse(requestResponses.url);
setInterval(function () {
if (requestResponses.errorCode === true) {
$(requestResponses.targSel + requestResponses.redLight).toggleClass(requestResponses.redBright);
}
}, requestResponses.settings.flashError);
},
successResponse: function (targObj) {
requestResponses.errorCode = false;
$(requestResponses.targSel + requestResponses.redLight).removeClass(requestResponses.redBright);
$(requestResponses.targSel + requestResponses.greenLight).addClass(requestResponses.greenBright);
},
errorResponse: function (targObj) {
$(requestResponses.targSel + requestResponses.greenLight).removeClass(requestResponses.greenBright);
},
getResponse: function (serverURL) {
$.ajax(serverURL, {
success: function () {
requestResponses.errorCode = false;
requestResponses.successResponse(targObj);
},
error: function () {
requestResponses.errorCode = true;
requestResponses.errorResponse(targObj);
},
complete: function () {
setTimeout(function () {
requestResponses.getResponse(requestResponses.url);
}, requestResponses.settings.requestTime);
}
});
},
errorCode: false
}
requestResponses.init('status/index.html', 'Two');
有什么问题吗?出了什么问题?是否报告错误?有什么事情发生吗?没有答案,但举例来说,我有两个以上的组件,它总是针对相同的一个,当我想他们都是单独的目标。因此,我可以在参数中传递attr值,并专门针对该参数。我会更新我的问题。