如何使getElementById在Jquery中工作?

时间:2012-07-13 06:47:50

标签: jquery

这是HTML和脚本

 <script>  $(document).ready(function(){  
 $(".update_button").click(function(){ 

 var update_post = $("#post").val();
 alert('Post is '+ update_post +'.');
 return false;
 });
 });
 </script>

 <body>
     <fieldset style="width:600px; height:550px">
       <textarea id="post" class="uiwysiwyg nothing"><?php echo $prvpost; ?></textarea>
       <input type="submit" value="Post" id="updt_button" class="update_button"/>
     </fieldset> </body>

注意:class =“uiwysiwyg nothing”是一个包含WYSIWYG命令的脚本

但代码有效:

 <body onsubmit="alert('Update: ' + document.getElementById('post').value); return false;">
     <fieldset style="width:600px; height:550px">
       <textarea id="post" class="uiwysiwyg nothing"><?php echo $prvpost; ?></textarea>
       <input type="submit" value="Post" id="updt_button" class="update_button"/>
     </fieldset>
 </body>

6 个答案:

答案 0 :(得分:2)

var update_post = $("#post").val();
alert(update_post); 

答案 1 :(得分:1)

使用$(.post)你正在使用像document.getElementByClass这样的东西...如果你想要document.getElementById请使用$(“#post)...并且是的,请检查jquery选择器

编辑: - 您的代码很好..只需在jsfiddle

进行检查

答案 2 :(得分:0)

这是因为在第一个示例中,您使用post作为ID。 在第二个示例中,您将其用作css类(.post)。 第二个例子应该是#post

查看jQuery selectors了解详情。

答案 3 :(得分:0)

我认为“post”是ID而不是CSS类,所以你必须使用“#”

var update_post = $("#post").val();
alert(update_post); 

答案 4 :(得分:0)

不使用“.post”,而是使用“#post”。一个 ”。”指定一个类名,“#”指定一个元素ID。

您的代码将如下所示:

var update_post = $("#post").val();
alert(update_post); 

答案 5 :(得分:0)

正如我在评论中写的那样:

Textarea表单元素没有值,您可以通过.text()(原始可读文本)或.html()(用于添加到DOM的HTML标记和实体转换)获取其内容。虽然较新版本的jQuery已经为您执行此操作并通过.val()获取textarea的内容。

因此,您可以更新您的jQuery版本(主要是一个好主意)或尝试此代码:

$(document).ready(function(){
  $(".update_button").click(function(){
    var update_post = $("#post").html();
    alert('Post is '+ update_post +'.');
    return false;
  });
});