mark.js를 사용하여 일치하지 않는 검색 요소를 숨길 수있는 방법이 있습니까? 문서를 읽은 후에 필자는 "noMatch"옵션을 사용하여 필적 할 수없는 텍스트의 부모 div를 숨기는 사용자 지정 함수를 작성할 수 있다고 생각했지만 기대했던대로 작동하지 않습니다. 나는 다음 검색에 "LOREM"을 강조 mark.js을 사용하고있는 경우mark.js를 사용하여 일치하지 않는 검색 요소를 숨길 수있는 방법이 있습니까?
예를 들어, :
<div class="panel-body context">
<h2>Lorem</h2>
<div>
<p>ipsum</p>
<p>lorem</p>
</div>
<h2>ipsum</h2>
<div>
<p>ipsum</p>
<p>lorem</p>
</div>
</div>
어떻게 그렇게 같은에만 일치하는 요소를 반환받을 수 있나요?
$(function() {
var mark = function() {
// Read the keyword
var keyword = $("input[name='search-keyword']").val();
// Determine selected options
var options = {
"element": "span",
"className": "highlight",
"separateWordSearch": false,
"noMatch": function(term) {
term.hide(); // WHERE I HOPED I COULD ADD HIDE LOGIC
}
}
// Remove previous marked elements and mark
// the new keyword inside the context
$(".panel-body context").unmark({
done: function() {
$(".panel-body context").mark(keyword, options);
}
});
};
$("input[name='search-keyword']").on("input", mark);
});
편집 여기 내 내가 할 시도하고있는 무슨의 더 나은 예를 들어 mark.js 예에서 jsfiddle을 변경 :
<div class="panel-body context">
<h2><span="highlight">Lorem</span><h2>
<div>
<p><span="highlight">lorem</span></p>
</div>
<div>
<p><span="highlight">lorem</span></p>
</div>
</div>
여기에 내 현재 코드 블록입니다. 사전에 도움을 주셔서 감사합니다! 사이비 선택기 not``.panel 바디 H2 :하지 (.highlight), .panel 바디 P :하지 (.highlight) {디스플레이
당신은'를 사용할 수 있습니다 : 없음; }' –
@ Rob M. 시간 내 주셔서 감사합니다. 그러나 mark.js 라이브러리를 사용하여 로직을 어디에 둘 수 있는지 이해하지 못합니다. 당신은 그것이'done : function()'또는? –