所以这不是我第一次遇到这个问题。我有一个简单的数组'例外'。为简单起见,我将其缩小为包含一个值,直到我解决问题为止。单击“img”可获取图像旁边的“文本”或span标记容器的文本。 例如:
<span> text + <img class=exit src=images/cross-icon.png alt=some_text> </span>
然后将文本或'var t'与我的数组中的唯一元素例外'例外[0]'进行比较
$('#categories').on('click','img',function() {
var q = $(this).parent();
var t = q.text();
loop( t );
});
function loop(param) {
// alert( param + ' ' + exceptions[0] ); //alerts the exact same value
// alert( jQuery.type(param) +' '+ $.type(exceptions[0]) ); //alerts string
//above shows that there the same type and value.
for (var i=0;i<exceptions.length;i++) {
if (exceptions[i] == param) {
alert('works!');
}
}
}
没有警告'工作!'。有任何想法吗。提前谢谢。
答案 0 :(得分:1)
新修改:只需将var t = q.text();
替换为var t = $.trim(q.text());
为@adeneo建议:
$('#categories').on('click','img',function() {
var q = $(this).parent();
var t = $.trim( q.text() );
loop( t );
});
function loop(param) {
// alert( param + ' ' + exceptions[0] ); //alerts the exact same value
// alert( jQuery.type(param) +' '+ $.type(exceptions[0]) ); //alerts string
//above shows that there the same type and value.
for (var i=0;i<exceptions.length;i++) {
if (exceptions[i] == param) {
alert('works!');
}
}
}
@adeneo的正确答案,但这是调试此类错误的一步:http://jsfiddle.net/AstDerek/X2Cej/
非常讨厌第一个答案:
您的逻辑似乎有误,q
是图片,t = q.text()
为空