选择<li>包含隐藏的<span>值</span> </li>的值

时间:2015-04-02 10:00:20

标签: jquery

我有以下代码:

<div id="left">
    <ul class="cmdSelected">
        <li class="cmdTitle">Test Case D</li>
            <li class="cmdTypeE">GPP1<span hidden>143</span></li>
            <li class="cmdTypeE">GPP2<span hidden>146</span></li>               
            <li class="cmdTypeF">UDA<span hidden>0</span></li>
            <li class="cmdTypeB">Complete<span hidden>1</span></li>
    </ul>
</div>

我想要显示价值&#34; GPP1&#34;当我点击它时。

$( "li.cmdTypeE" ).on("click", function() {
    var selected = $(this).text();   //Can't work properly
});

然而,它会显示价值&#34; GPP1143&#34;。 我该怎么做才能获取值&#34; GPP1&#34;仅?

3 个答案:

答案 0 :(得分:0)

请尝试以下代码:

<div id="left">
    <ul class="cmdSelected">
        <li class="cmdTitle">Test Case D</li>
            <li class="cmdTypeE">GPP1<span hidden>143</span></li>
            <li class="cmdTypeE">GPP2<span hidden>146</span></li>               
            <li class="cmdTypeF">UDA<span hidden>0</span></li>
            <li class="cmdTypeB">Complete<span hidden>1</span></li>
    </ul>
</div>

JS:

$(document).ready(function() {
$( "li.cmdTypeE" ).on("click", function() {
    var selected = $(this).contents().filter(function() { return this.nodeType == 3; }).text();
    console.log(selected);
    });
});

JSFiddle:https://jsfiddle.net/Lxs210La/

基于:https://stackoverflow.com/a/5915443/814110

答案 1 :(得分:0)

替换它: -

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

使用: -

var selected = $("#left >ul").find("li:selected").clone().children().remove().end().text();

var selected = $(this).clone().children().remove().end().text();
  

.clone() - 克隆元素       .children() - 选择所有孩子。
      .remove() - 删除所有孩子。
      .end() - 再次返回选定的元素。

答案 2 :(得分:-2)

试试这个:

<div id="left">
<ul class="cmdSelected">
    <li class="cmdTitle">Test Case D</li>
        <li class="cmdTypeE" onclick="clickonthis(this)">GPP1<span hidden>143</span></li>
        <li class="cmdTypeE" onclick="clickonthis(this)">GPP2<span hidden>146</span></li>               
        <li class="cmdTypeF" onclick="clickonthis(this)">UDA<span hidden>0</span></li>
        <li class="cmdTypeB" onclick="clickonthis(this)">Complete<span hidden>1</span></li>
</ul>

脚本上的

function clickonthis(obj) {
    var selected = $(obj).text();
    alert(selected);  
}