动态添加的输入元素不会在脚本中返回值

时间:2016-04-27 12:23:40

标签: javascript jquery html

在静态div中添加动态输入元素(带有类" dateValidation")后(使用类" workItems")我使用它来提供onclick函数:

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

当我在上面的函数中运行f.e

alert(this);

我得到:[object HTMLInputElement](我觉得它很好)

但是,当我跑:

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

什么都没发生。这段代码有什么问题?如何获得此输入元素的f.e值?

3 个答案:

答案 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"));

希望这有助于您找到问题!!