[英]jquery get span value
我正在努力获取span标记的值,然后在单击时将该值传递到输入字段中。
$( document ).ready(function() {
$( "input" ).on( "click", function() {
$( ".kb" ).toggle();
});
$( ".kb .row span" ).on( "click", function() {
var key = $('this').text();
alert(key)
$("body").find("input").append(key);
});
});
<input type="text" />
<div class="kb">
<div class="row">
<span>q</span>
<span>w</span>
<span>e</span>
<span>r</span>
<span>t</span>
<span>y</span>
<span>u</span>
<span>i</span>
<span>o</span>
<span>p</span>
<span>[</span>
<span>]</span>
</div>
<div class="row">
<span>a</span>
<span>s</span>
<span>d</span>
<span>f</span>
<span>g</span>
<span>h</span>
<span>j</span>
<span>k</span>
<span>l</span>
<span>;</span>
<span>'</span>
</div>
<div class="row">
<span>z</span>
<span>x</span>
<span>c</span>
<span>v</span>
<span>b</span>
<span>n</span>
<span>m</span>
<span>,</span>
<span>.</span>
<span>/</span>
</div>
您的代码中完全有两个错误,
除去由包围引号this
参考
var key = $(this).text();
input [type = text]是一个void元素,您正在尝试在其中添加文本,因此该文本无效。
$("input").val(key); //use .val() instead of .append()
完整的代码是
$(".kb .row span").on("click", function() {
$("input").val($(this).text());
});
对于附加值,只需使用like即可,
$(".kb .row span").on("click", function() {
var text = $(this).text();
var elem = $('input');
elem.val(elem.val() + text);
});
this
不需要引号(否则您实际上是在寻找类似<this>
的元素):
var key = $(this).text();
您的$(this)
引用错误,应该使用.val()更改输入值。
$(".kb .row span").on("click", function() {
var key = $(this).text();
alert(key)
$("body").find("input").val(key);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.