jQuery相当于getElementbyName不起作用

时间:2015-03-04 00:52:30

标签: javascript jquery

我一直试图创建一个隐藏元素,我想使用隐藏元素的值作为if语句的条件。

 var x = document.createElement('input');
        x.type = 'hidden';
        x.value = "Success";
        x.name = "eventName";
        console.log($("input[name='eventName']".value));

另一种方法,

if ($("input[name='eventName']".value) == "Success") 
{
   ---------------
}

$("输入[name =' eventName']" .value)返回' undefined'。我想获取隐藏元素值if言。

请帮助!谢谢!

1 个答案:

答案 0 :(得分:2)

$(selector/element)返回一个jQuery对象,因此您需要调用.val()方法

if ($("input[name='eventName']").val() == "Success") 
{
   ---------------
}

在您的情况下,您正在调用"input[name='eventName']".value,即您正在尝试访问未定义的字符串value的{​​{1}}属性,然后将其传递给input[name='eventName']


即使您将语法更正为jQuery,您的console.log($("input[name='eventName']".value));也不会打印该值,因为您使用选择器来查找元素并且您尚未添加新创建的元素元素到dom,选择器引擎无法找到元素。

您可以传递您创建的dom元素引用,如

console.log($("input[name='eventName']").value);

或者您可以在将元素console.log($(x).value); 添加到dom后运行该特定脚本。