我试图让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');
}
}
});
});发布于 2014-04-17 16:00:33
您可以直接从元素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);
}
});
});发布于 2014-04-17 15:57:27
将值放入对象中,使用元素的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作为标识符存在于对象中。
https://stackoverflow.com/questions/23137872
复制相似问题