代码之家  ›  专栏  ›  技术社区  ›  leora Matt Lacey

使用jquery从SPAN获取文本

  •  89
  • leora Matt Lacey  · 技术社区  · 14 年前

    通过这个HTML,我想在单击它时从中获取“August”:

    <span class="ui-datepicker-month">August</span>
    

    我试过

    $(".ui-datepicker-month").live("click", function () {
        var monthname =  $(this).val();
        alert(monthname);
    });
    

    但似乎不起作用

    7 回复  |  直到 7 年前
        1
  •  197
  •   Rory McCrossan Hsm Sharique Hasan    7 年前

    而不是 .val() 使用 .text() ,像这样:

    $(".ui-datepicker-month").live("click", function () {
        var monthname =  $(this).text();
        alert(monthname);
    });
    

    或在jquery 1.7+中使用 on() 作为 live 被贬低:

    $(document).on('click', '.ui-datepicker-month', function () {
        var monthname =  $(this).text();
        alert(monthname);
    });
    

    Val.() 用于输入类型元素(包括文本区域和下拉列表),因为您处理的是具有文本内容的元素,请使用 文本() 在这里。

        2
  •  19
  •   Matthew Jones    14 年前

    我想你想要 .text() :

    var monthname = $(this).text();
    
        3
  •  8
  •   Josip Ivic    9 年前

    要检索自动生成的跨度值的文本,只需执行以下操作:

    var al = $("#id-span-name").text();    
    alert(al);
    
        4
  •  5
  •   Farjad    11 年前

    -以上都不是我一贯的作风。所以这里是我提出的解决方案,当它使用基本功能时,它在所有浏览器中都能始终如一地工作。希望这能帮助别人。使用jquery 8.2

    1)获取“SPAN”的jquery对象。 2)从上面获取dom对象。使用jquery.get(0) 3)使用dom对象的innerText获取文本。

    下面是一个简单的例子

    var curSpan = $(this).parent().children(' span').get(0);
    var spansText = curSpan.innerText;
    

    HTML

    <div >
    <input type='checkbox' /><span >testinput</span> 
    </div>
    
        5
  •  4
  •   Ari    11 年前

    你可以使用 .html() 获取的内容 span 和或 div 元素。

    例子:

        var monthname =  $(this).html();
        alert(monthname);
    
        6
  •  1
  •   Husni Salax jwize    9 年前

    我们走到这里:

    $(".ui-datepicker-month").click(function(){  
    var  textSpan = $(this).text();
    alert(textSpan);   
    });
    

    希望它有帮助;

        7
  •  1
  •   Raj Baral Gaurav Panwar    8 年前

    .val() 用于输入元素,使用 .html() 相反