等效于getElementbyName的jQuery不起作用

jQuery Equivalent to getElementbyName not working

本文关键字:jQuery 不起作用 getElementbyName      更新时间:2023-09-26

我一直在尝试创建一个隐藏元素,我想使用隐藏元素的值作为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") 
{
   ---------------
}

$("input[name='eventName]".value)返回'undefined'。我想在if语句中获取隐藏元素值。

请帮忙!谢谢

$(选择器/元素)返回一个jQuery对象,因此需要调用.val()方法

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

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


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

您可以像一样传递您创建的dom元素引用

console.log($(x).value);

或者您可以在元素x添加到dom之后运行该特定脚本。