Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery val是否未定义?_Javascript_Jquery_Html_Undefined - Fatal编程技术网

Javascript jQuery val是否未定义?

Javascript jQuery val是否未定义?,javascript,jquery,html,undefined,Javascript,Jquery,Html,Undefined,我有以下代码: <input type="hidden" id="editorTitle" name="title" value="home"> <textarea name="text" id="editorText"></textarea> 但是怎么了 试试:$(“#editorTitle”).attr('value')?您可能在HTML之前包含了JavaScript:。 您应该在窗口加载时执行JavaScript(或者更好,在DOM完全加载时),或者在

我有以下代码:

<input type="hidden" id="editorTitle" name="title" value="home">
<textarea name="text" id="editorText"></textarea>

但是怎么了

试试:
$(“#editorTitle”).attr('value')

您可能在HTML之前包含了JavaScript:。


您应该在窗口加载时执行JavaScript(或者更好,在DOM完全加载时),或者在HTML之后包含JavaScript:。

可能是您忘记在document ready函数中加载它了吗

$(document).ready(function () {

    //your jQuery function
});

您应该在文档准备就绪后调用事件,如下所示:

$(document).ready(function () {
  // Your code
});
这是因为您试图在浏览器渲染元素之前对其进行操作

所以,在你发布的例子中,它应该是这样的

$(document).ready(function () {
  var editorTitle = $('#editorTitle').val();
  var editorText = $('#editorText').html();
});
希望能有帮助


提示:始终将jQuery对象保存在一个变量中以供以后使用,并且只有在加载文档后真正需要运行的代码才应该放在ready()函数中。

您可能忘记用
$()
包装对象

正确的是

$(tableChild).val("my Value");// this is correct

这是愚蠢的,但供将来参考。 我确实把我所有的代码都放进去了:

$(document).ready(function () {
    //your jQuery function
});
但它仍然不工作,并且返回
未定义的值。
我检查我的HTML DOM

<input id="username" placeholder="Username"></input>
使之成为:

var user_name = $('#username').val();
解决了我的问题


因此,最好检查以前的代码

我昨天在做一个项目时遇到了这个问题。我是我的特例,不是输入的确切名称,而是ID的命名方式

<input id="user_info[1][last_name]" ..... />
var last_name = $("#user_info[1][last_name]").val() // returned undefined

var last_name=$(“#用户信息[1][last_name]”)。val()//返回未定义
移除支架解决了问题:

<input id="user_info1_last_name" ..... />
var last_name = $("#user_info1_last_name").val() // returned "MyLastNameValue"

var last_name=$(“#user_info1_last_name”).val()//返回“MyLastNameValue”
不管怎样,对某些人来说可能是不需要动脑筋的,但如果这对其他人有帮助的话。。。好了

:-)
-Drew

在DOM中的元素可用后,是否在jQuery ready event/中使用$('#editorTitle').val()和$('#editorText').html()?代码中没有错误。您需要提供更多的上下文。editorText的测试用例为空,因为textarea中没有任何内容。如果关闭
input
标记,请确保您正在执行jQuery onDomReadyIs
.val()
的操作,但仍然未定义?另外,在这种情况下,
html()
不应该为空吗?我认为它返回了内部子元素,
textarea
标记没有。或者我弄错了?您可能在浏览器解析元素之前计算了该值,所以在ready函数:$(document)之后使用代码。ready(function(){})您让我开心了!我本打算使用$(此)上下文获取更改操作的值,但在看到您的解决方案之前,我几乎发疯了。谢谢。
var user_name = $('#username').val();
<input id="user_info[1][last_name]" ..... />
var last_name = $("#user_info[1][last_name]").val() // returned undefined
<input id="user_info1_last_name" ..... />
var last_name = $("#user_info1_last_name").val() // returned "MyLastNameValue"