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