我试图让jQuery检查一个链接是否有某个ID,id只会改变最后一个数字,有没有办法每次迭代一定数量的如果这样的陈述没有做手工检查吗?
有更好的方法吗?
我对jQuery / Javascript很新,但这对我来说似乎不对。
$(document).ready(function() {
$(document).on('click', '.add-to-train', function(event) {
var inspectedLink = $('a.inspected');
if ($('a').find( '.inspected' )) {
console.log( inspectedLink );
if(inspectedLink.is('#product-1')) {
console.log('Send info for Product 1');
}
if(inspectedLink.is('#product-2')) {
console.log('Send info for Product 2');
}
if(inspectedLink.is('#product-3')) {
console.log('Send info for Product 3');
}
if(inspectedLink.is('#product-4')) {
console.log('Send info for Product 4');
}
if(inspectedLink.is('#product-5')) {
console.log('Send info for Product 5');
}
if(inspectedLink.is('#product-6')) {
console.log('Send info for Product 6');
}
if(inspectedLink.is('#product-7')) {
console.log('Send info for Product 7');
}
}
});
});
答案 0 :(得分:4)
您可以直接从元素ID中获取数字,无需检查每个数字
$(document).ready(function () {
$(document).on('click', '.add-to-train', function (event) {
var inspectedLink = $('a.inspected');
if ( inspectedLink.length ) {
var id = inspectedLink.prop('id').split('-').pop();
console.log('Send info for Product ' + id);
}
});
});
答案 1 :(得分:3)
使用元素'将您的值放入对象中。 id为其标识符:
var valsToLog = {
"product-1":"Send info for Product 1",
"product-2":"Send info for Product 2"
} // etc
然后,当您需要log
或任何您需要处理的值时:
console.log(valsToLog[inspectedLink.prop('id')])
注意您可能首先要检查以确保id
作为对象中的标识符存在。