簡體   English   中英

jQuery獲取跨度值

[英]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>  

您的代碼中完全有兩個錯誤,

  1. 除去由包圍引號this參考

    var key = $(this).text();

  2. 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();

http://jsfiddle.net/dgmT5/

您的$(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM