Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从列表中仅获取我刚才单击的元素并使用它_Jquery - Fatal编程技术网

Jquery 从列表中仅获取我刚才单击的元素并使用它

Jquery 从列表中仅获取我刚才单击的元素并使用它,jquery,Jquery,我有一个列表,当有人单击li元素时,我会使用$.ajax获取它需要的特定数据 对于ie: <li id="test1">test 1 </li> <li id="test2">test 2 </li> <li id="test3">test 3 </li> ... <li id="testN">test N </li> 2,3,4…N也一样 但问题是它的代码太多了。好的,只是复制粘贴,但我可以用另一

我有一个列表,当有人单击li元素时,我会使用$.ajax获取它需要的特定数据

对于ie:

<li id="test1">test 1 </li>
<li id="test2">test 2 </li>
<li id="test3">test 3 </li>
...
<li id="testN">test N </li>
2,3,4…N也一样

但问题是它的代码太多了。好的,只是复制粘贴,但我可以用另一种方法吗?这意味着当我单击test1元素时,jQuery会找出我单击的元素并为其运行

对不起,我的英语不好 谢谢

试试:

<li class="test" id="test1">test 1 </li>
<li class="test" id="test2">test 2 </li>
<li class="test" id="test3">test 3 </li>
...
<li class="test" id="testN">test N </li>

您可以将class=test放入所有LIs,并使用$选择该类。test或为UL分配唯一ID,并在该UL$tests中仅选择LIs li

从列表中选择一个项目时使用更改,甚至仅触发:

$('#test1').change(function() {
    $.ajax({
    url: 'fetch.php',
    type: 'POST',
    data: { temp : 'test1'},
    success: function(data) {
        $('#test1').append(data);
    }    
});

在不更改html代码的情况下,您可以将选择器设置为$'li[id^=test]'Yes,正如@Vincent Robert所提到的,向or添加一个id并使用它可能会更好。
$('.test').click(function() {
    var $this = $(this);
    $.ajax({
         url: 'fetch.php',
         type: 'POST',
         data: { temp : $this.attr('id') },
         success: function(data) {
             $this.append(data);
        }    
    });
});
$('#test1').change(function() {
    $.ajax({
    url: 'fetch.php',
    type: 'POST',
    data: { temp : 'test1'},
    success: function(data) {
        $('#test1').append(data);
    }    
});