【发布时间】:2017-01-25 08:54:58
【问题描述】:
这让我发疯 - 为什么我的代码不起作用?
<a id="send-thoughts" href="">Click</a>
<textarea id="#message"></textarea>
jQuery("a#send-thoughts").click(function() {
var thought = jQuery("textarea#message").val();
alert(thought);
});
警报未定义。
【问题讨论】:
-
永远不要做
$('a#send-thoughts'),只做$('#send-thoughts')。执行前者的性能影响很大,因为 jQuery 将出去并获取页面上的所有锚点,而不是执行最快的选择器:getElementById。 -
只是为了补充一点,html ids 应该是唯一的......所以在你的选择器中添加
a是多余的。所以请记住,您的页面上只能有一个#send-thoughts元素 -
+1 给你,布拉德,马上。此外,锚标记上的
href属性绝不应该是空字符串。如果您不希望发生任何操作,请将其设置为:<a href="#">click</a>,然后在您的点击事件中最后return false;。 -
欣赏提示,先生们。但是,由于某种原因,当我省略
a时,我的 jQuery 不再工作...... ID 也是唯一的。
标签: jquery