我有以下jquery函数,但它在if语句中抛出错误:TypeError: elem.nodeName is undefined
当我在if语句之外输出console.log时它工作正常吗?
<input type="radio" name="contact" value="email">email
<input type="radio" name="contact" value="tel">tel
<input type="radio" name="contact" value="writing">writing
$(function() {
var myListRef = {'email':'email','tel':'tel','writing':'writing'}
$('[name="contact"]').click(function() {
$.each( myListRef , function( key, value ) {
if(value !== $(this).val()) {
console.log($(this).val());
}
});
});
});
我在if语句中做错了什么?
答案 0 :(得分:5)
您正在使用每个更改范围...在循环之前保存this
$('[name="contact"]').click(function () {
$this = $(this);
$.each(myListRef, function (key, value) {
if (value !== $this.val()) {
console.log($this.val());
}
});
});