Javascript 如何在li-ul中获取跨度动态值

Javascript 如何在li-ul中获取跨度动态值,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我的ASPX代码如下所示: <ul id="userlist"> <a class="s-test"> <li> <span id="userlistspan" class="tt-User" value="1">Cardiologist</span> <span id="userlistspan1" class="tt-Userss">SPECIALI

我的ASPX代码如下所示:

<ul id="userlist">
    <a class="s-test">
        <li>
            <span id="userlistspan" class="tt-User" value="1">Cardiologist</span>
            <span id="userlistspan1" class="tt-Userss">SPECIALITY</span>
        </li>
    </a>
    <a class="s-test">
        <li>
            <span id="userlistspan" class="tt-User" value="2">Cardio</span>
            <span id="userlistspan1" class="tt-Userss">SPECIALITY</span>
        </li> 
    </a>
</ul> 
$('#userlist li #userlistspan').click(function () {
    $('#txtSearch').val($(this).text());
})
//here am getting text like Cardio
$('#userlist li .userlistspan').click(function() { 
    var $span = $(this);
    $('#txtSearch').val($span.text());
    var value = $span.data('value'); // = 1 or 2, depending on which element you clicked.
})

如何从该
span
中获取
value=2
之类的值?

您的HTML完全无效,原因如下:

  • 不能将
    a
    元素作为
    ul
    的直接子元素。
    li
    必须是子元素
  • id
    在同一文档中应该是唯一的时,您有重复的
    id
    属性,请使用类对元素进行分组
  • span
    元素没有
    value
    属性,如果要使用元素存储自定义数据,请使用
    data-*
    属性
  • a
    元素必须具有
    href
    name
    属性,但是在本例中它们的使用似乎是多余的,因此您可以删除它们
您需要首先解决所有这些问题:

<ul id="userlist">
    <li>
        <span class="userlistspan tt-User" data-value="1">Cardiologist</span>
        <span class="userlistspan1 tt-Userss">SPECIALITY</span>
    </li>
    <li>
        <span class="userlistspan tt-User" data-value="2">Cardio</span>
        <span class="userlistspan1 tt-Userss">SPECIALITY</span>
    </li> 
</ul> 

你的HTML完全无效。1) 不能将
a
元素作为
ul
的直接子元素。
li
必须是子元素。2) 您有重复的
id
属性。3)
span
元素没有
属性4)
a
元素必须具有
href
name
属性。$('userlistsspan').attr('value');'userlistspan'始终返回第一个属性值。是的,它始终显示1userlistspan不是一个类,它是Id,因此我可以如何找到value@Muthu您必须将其更改为类,因为您不能有重复的ID