jQuery搜索使用标签内容的.find

时间:2012-06-22 15:32:17

标签: javascript jquery

我正在尝试搜索.list中的p标记内容,我可能只是过于复杂,但我的警报无效,也许是因为我在页面上的其他代码不是功能,但我想知道是否有人可以帮助我找出我出错的地方。

JS

            $(document).ready(function() {
            var sresults = $('.mainsearch input').val();

            var sfinder = $('.list p').find(sresults).text(sresults);


            $('.mainsearch input').keyup(function () {
             $('.search-help').append(sfinder);

             alert(sfinder);

            });
            });

HTML

            <div class="mainsearch">
            <input/>
            <div class="search-help">Results:
            </div>
            </div>


            <div class="list">
            <span><p>test</p></span>
            <span><p>another result</p></span>
            <span><p>yet another result</p></span>
            </div>

4 个答案:

答案 0 :(得分:1)

错字?

alert(sfiner)

应该是

alert(sfinder)

答案 1 :(得分:1)

尝试使用:contains() Selector。来自网站:

  

描述:选择包含指定文本的所有元素。   匹配文本可以直接出现在所选元素中,任何元素的后代中,或其组合中。与属性值选择器一样,括号内的文本:contains()可以写为单词或用引号括起来。文本必须具有匹配的案例才能被选中。

所以对你:

var sfinder = $('.list p:contains(' + sresults + ')');

答案 2 :(得分:1)

这样的事情?

$(document).ready(function() {
     $('.mainsearch input').keyup(function () {
     var sresults = $('.mainsearch input').val();
     var sfinder = $('p:contains('+sresults+')').text();
     $('.search-help').text("Results:" + sfinder);
         alert(sfinder);
     });
});

http://jsfiddle.net/h7uYB/

更新

试试这个:

http://jsfiddle.net/h7uYB/2/

答案 3 :(得分:0)

您是否只是想返回与输入内容匹配的段落?然后你想使用:contains()

$(document).ready(function() {
    $('.mainsearch input').keyup(function() {
        var sresults = $('.mainsearch input').val();
        var sfinder = $('.list p:contains("' + sresults + '")');
        //$('.search-help').append(sfinder);

        console.log(sfinder);

    });
});​

http://jsfiddle.net/mblase75/kQnTV/

你可能会瞄准这个目标,但是:

$(document).ready(function() {
    $('.mainsearch input').keyup(function() {
        var sresults = $('.mainsearch input').val();
        var sfinder = $('.list p:contains("' + sresults + '")');
        $('.search-help').html(sfinder.clone());
    });
});​

http://jsfiddle.net/mblase75/kQnTV/1/