我想提醒他们#water'#water'当我点击文字'#water'。相反,我得到了'对象对象'。我在这里完全错过了这条船吗?我们的想法是,如果有多个值,请说出#water;#water","#tea"," soda",您可以单独点击每个文本而不仅仅是通过单击文本区域触发事件。
<input type='text' id='input-tags' name='hashtags' value="#water">
<script>
$('#input-tags').click(function(){
alert($(this))
})
</script>
答案 0 :(得分:3)
$(this)
是对象的引用。你得到了预期的行为。
如果您想查看输入的内容,请使用$(this).val();
答案 1 :(得分:1)
<script>
$('#input-tags').click(function(){
alert($(this).val())
})
</script>
答案 2 :(得分:0)
jQuerys Sizzle(用于选择内容的引擎)不返回HTMLObject(<input type='text' ...>
),而是返回jQuery对象:
[input#input-tags, context: input#input-tags, jquery: "1.11.0", constructor: function, selector: "", toArray: function…]
0: input#input-tags
context: input#input-tags
length: 1
__proto__: Object[0]
简化事情:获取#water
的正确方法是
$(this).val()
$(this)[0].value
因为$(this)[0]代表HTMLObject。