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"