테스트 사이트 - 개발 중인 베타 버전입니다

:contains 말고 일치하는 것만 구분하는 방법이 있을까요? 채택완료

망이망소이 4년 전 조회 4,079

:contains 말고 일치하는 것만 구분하는 방법이 있을까요?

 

다수의 a링크에 포함된 문자중

현재 보고있는 '페이지제목'을 포함하고 있는 a에

클래스명에 on를 주고자해서

 

$("a:contains('<?php echo $g5['title']; ?>')").addClass("on");

 

이렇게 했는데 

 

문제는

어떤페이지명이 '바나나'고 

다른페이지명이 '꿀바나나'

다른페이지명이 '바나나우유'

이런식이면

구분을 못하고 모두다 선택되어 버리는데

이럴경우 해결방법이 뭐가 있을까요????? ^^

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
Big1
4년 전

filter()로 해보았습니다

</p>

<p>$('a').filter(function() {

    return $(this).text().indexOf("바나나") === 0;

}).css('color', 'red');

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
4년 전
앗 감사합니다. ^^ 잘됩니다.

댓글을 작성하려면 로그인이 필요합니다.

식쏭
4년 전

</p>

<p>$("li.depth2 a").filter(function() {

        return $(this).text() === "바나나";

    }).addClass("on");</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
4년 전
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

4년 전

아 ㅎㅎ 그럼 그냥 단순하게 

</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개

망이망소이
4년 전
감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

4년 전

`indexOf` 함수를 활용하시는걸 추천합니다.

 

var title = "<?php echo $g5['title']?>";

if ($(this).parents("a").attr("href").indexOf(title) > -1)

   // 여기서 적용

};

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
4년 전
아 href의 포함된 값으로 구분하려는것은 아니구요
[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");
이렇게 해놨습니다. ^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인