2016-04-27 56 views
0

返回值静态DIV中加入动态输入元素(类“dateValidation”)后(带班“工作项目”),我使用它来提供的onclick功能:动态添加输入元素没有在脚本

$(".workItems").on("click", ".dateValidation", function() 
{...}); 

,当我在上面的功能运行FE

alert(this); 

我得到:[对象HTMLInputElement](我认为这是很好)

,但是,当我运行:

alert(this.val()); 
alert(this.hasClass("dateValidation")); 

什么也没有发生。这段代码有什么问题?我怎样才能得到这个输入元素的f.e值?

回答

4

this是一个DOM元素,你需要在它

alert($(this).val()); 
alert($(this).hasClass("dateValidation")); 
+0

@ nolbadi111是你'_checkingDate'功能期待一个DOM对象或jQuery对象 – gurvinder372

+0

$( “工作项目 ”)上(“ 点击”, “.dateValidation”,()的函数 。{_settingPlaceholderDate(本);} 和 功能_settingPlaceholderDate(providedDate){\t \t $(providedDate).attr( “占位符”, “DD-MM-RRRR”);}; – nolbadi111

+0

@ nolbadi111这是工作的罚款有什么问题 – gurvinder372

0

使用$(this).val()$(this).hasClass("dateValidation");而不是此运行jQuery函数之前,将其转换为jQuery的元素。

0

this是DOM对象,而$(this)是jQuery包装器。

使用this,您可以调用DOM方法/属性,但不能调用jQuery方法。当使用$(this)时,可以调用jQuery方法而不是DOM方法。

你的情况你试图访问使用DOM对象this这是错误的jQuery方法val()。所以你必须使用jQuery包装器使用jQuery方法$(this)

更新后的脚本就是这样的。

alert($(this).val()); 
alert($(this).hasClass("dateValidation")); 

希望这会帮助你找到问题!