在静态div中添加动态输入元素(带有类" dateValidation")后(使用类" workItems")我使用它来提供onclick函数:
$(".workItems").on("click", ".dateValidation", function()
{...});
当我在上面的函数中运行f.e
时alert(this);
我得到:[object HTMLInputElement](我觉得它很好)
但是,当我跑:
alert(this.val());
alert(this.hasClass("dateValidation"));
什么都没发生。这段代码有什么问题?如何获得此输入元素的f.e值?
答案 0 :(得分:4)
this
是一个DOM元素,需要在运行jquery函数之前将其转换为jquery元素
alert($(this).val());
alert($(this).hasClass("dateValidation"));
答案 1 :(得分:0)
使用int main ()
{
char x[60] = "08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08";
const char *y = x;
char outputBuffer[10];
for(;sscanf(y, "%s", outputBuffer) > 0; y+=strlen(outputBuffer)) printf("%d, ", atoi(outputBuffer));
}
和$(this).val()
代替此。
答案 2 :(得分:0)
this
是DOM对象,而$(this)是jQuery包装器。
使用this
,您可以调用DOM方法/属性,但不能调用jQuery方法。使用$(this)
时,可以调用jQuery方法而不是DOM方法。
在您的情况下,您尝试使用错误的DOM对象val()
来访问jQuery方法this
。所以你使用jQuery包装器$(this)
来使用jQuery方法。
更新的脚本就是这样。
alert($(this).val());
alert($(this).hasClass("dateValidation"));
希望这有助于您找到问题!!