我正在尝试搜索.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>
答案 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);
});
});
试试这个:
答案 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());
});
});