0

我是 jQuery 新手,对函数的理解有问题。

我有以下 HTML 代码结构:

<ul class="result">
   <li id="a"></li>
   <li></li> //will be added through a loop depending on input
</ul>

这个jQuery代码:

$(document).ready(function() { //changes are possible when the page has fully loaded
    $('.inp').keyup(function() { //executes keyup function to the field class "inp"
        var inp = $(this).attr('value'); //sets a variable with the value of input from class="inp"
        $.post('ajax/file.php', {inp:inp}, function(data) { //posts that value to file.php as variable inp and executes the function (data) to this 
            $('.result').html(data);  //adds the returned result into HTML content as a first element in the set of class="result" => <li>

            $('.result li').click(function() { //executes click function when clicking li element
                var result_value = $(this).text(); //sets a variable and prepares something as text 
                $('.inp').attr('value', result_value); //fills value attribute of field class "inp" with the variable result_value
                $('.result').html(''); //???
            });
        });
    });
});

现在我的问题是什么$('.result').html('');

4

3 回答 3

1

JQuery .html() 属性设置它映射到的对象的 html,它具有与 javascript 属性 .innerHTML 相同的行为。

所以在你的场景中 $('.result').html(''); 将结果类元素的 html 设置为 null。

<ul class="result">
</ul>

其次,您在“file.php”中使用了错误的方法,而是使用以下代码:

echo '<li>'.$row["name_1"].'</li>';
echo '<li>'.$row["name_2"].'</li>';
echo '<li>'.$row["name_3"].'</li>';
于 2013-04-17T10:02:22.730 回答
0

$('.result').html('');清除 的内容<ul class="result">

http://api.jquery.com/html/

于 2013-04-17T10:04:51.333 回答
0

$('.result').html('');将 html 设置.result为空白字符串。

于 2013-04-17T09:46:14.200 回答