앵커 텍스트를 jquery로 교체


86

html 앵커의 텍스트를 바꾸고 싶습니다.

<a href="index.html" id="link1">Click to go home</a>

이제 '집으로 이동하려면 클릭'텍스트를 바꾸고 싶습니다.

나는 이것을 시도했다 :

alert($("link1").children(":first").val());
alert($("link1").children(":first").text());
alert($("link1").children(":first").html());

하지만 그것은 모두 나에게 null 또는 빈 문자열을 제공합니다.

답변:


141

시험

$("#link1").text()

요소 내부의 텍스트에 액세스합니다. #은 ID로 검색 중임을 나타냅니다. 자식 요소를 찾고 있지 않으므로 children ()이 필요하지 않습니다. 대신 jQuery 함수가 반환하는 요소 내부의 텍스트에 액세스하려고합니다.


1
감사. 내가 답을 찾았다는 사실에 안심하고, 매우 어리석은 ... 모든 다른 진술을 시도했지만 # 기호를 잊어 버린 것에 대해 ....
Michel

62

ID로 요소를 참조하려면 #한정자 를 사용해야합니다 .

시험:

alert($("#link1").text());

이를 교체하려면 다음을 사용할 수 있습니다.

$("#link1").text('New text');

.html()기능도이 경우에 작동합니다.


18
$('#link1').text("Replacement text");

.text()메서드는 전달한 텍스트를 요소 콘텐츠에 드롭합니다. 사용 달리 .html(), .text()암시 적으로 일부 인라인 포함에 필요한 그렇다면, 어떤 HTML 마크 업을 포함 무시 <span>, <i>또는 어떤 다른 유사한 요소를 사용하는 .html()대신.


4

이드의 경우 이것을 시도하십시오

$("#YourId").text('Your text');

또는 이것은 수업의 경우

$(".YourClassName").text('Your text');

-1
function liReplace(replacement) {
    $(".dropit-submenu li").each(function() {
        var t = $(this);
        t.html(t.html().replace(replacement, "*" + replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement, "*" +` `replacement + "*"));
        t.children(":first").html(t.children(":first").html().replace(replacement + " ", ""));
        alert(t.children(":first").text());
    });
}
  • 첫 번째 코드는 제목 바꾸기를 찾습니다. t.html(t.html()
  • 두 번째 코드는 텍스트 교체 t.children(":first")

견본 <a title="alpc" href="#">alpc</a>


1
답변의 코드가 작동 할 수 있지만 그 이유와 작동 방식을 설명하는 훌륭한 답변을 만들기 위해 노력해야합니다.
Ian Stapleton Cordasco 2014-08-08
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.