:contains 말고 일치하는 것만 구분하는 방법이 있을까요? 채택완료
:contains 말고 일치하는 것만 구분하는 방법이 있을까요?
다수의 a링크에 포함된 문자중
현재 보고있는 '페이지제목'을 포함하고 있는 a에
클래스명에 on를 주고자해서
$("a:contains('<?php echo $g5['title']; ?>')").addClass("on");
이렇게 했는데
문제는
어떤페이지명이 '바나나'고
다른페이지명이 '꿀바나나'
다른페이지명이 '바나나우유'
이런식이면
구분을 못하고 모두다 선택되어 버리는데
이럴경우 해결방법이 뭐가 있을까요????? ^^
답변 4개
filter()로 해보았습니다
</p>
<p>$('a').filter(function() {
return $(this).text().indexOf("바나나") === 0;
}).css('color', 'red');
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
</p>
<p>$("li.depth2 a").filter(function() {
return $(this).text() === "바나나";
}).addClass("on");</p>
<p>
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
아 ㅎㅎ 그럼 그냥 단순하게
</p>
<pre>
<code><li class="depth2"><a href="#" target="_self" <?php if(strpos($g5['title'], '바나나') !== false) { ?> class="on" <?php } ?>>바나나</a></li></code></pre>
<p>
이렇게 하면 안되나요? ㅋㅋ 저기 바나나랑 꿀바나나가 변수에 담겨서 나오는게 아니라면 ㅎㅎ
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
`indexOf` 함수를 활용하시는걸 추천합니다.
var title = "<?php echo $g5['title']?>";
if ($(this).parents("a").attr("href").indexOf(title) > -1)
// 여기서 적용
};
답변에 대한 댓글 1개
[code]
<li class="depth2"><a href="#" target="_self" class="on">바나나</a></li>
<li class="depth2"><a href="#" target="_self" class=" ">꿀바나나</a></li>
<li class="depth2"><a href="#" target="_self" class=" ">바나나우유</a></li>
[/code]
이런식입니다.
그래서 이것을
$("li.depth2 a:contains('<?php echo $g5['title']; ?>')").addClass("on");
이렇게 해놨습니다. ^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인