JavaScript를 사용하여 스판 요소의 텍스트를 변경하려면 어떻게 해야 합니까?
스팬이 있는 경우 다음과 같이 말합니다.
<span id="myspan"> hereismytext </span>
JavaScript를 사용하여 "hereismytext"를 "newtext"로 변경하려면 어떻게 해야 합니까?
최신 브라우저의 경우 다음을 사용해야 합니다.
document.getElementById("myspan").textContent="newtext";
는 ""를 하지 못할 수 .textContent
, 는 사용하지 것이 .innerHTML
새로운 텍스트가 사용자 입력일 때 XSS 취약성이 발생하므로 자세한 내용은 다음 답변을 참조하십시오.
//POSSIBLY INSECURE IF NEWTEXT BECOMES A VARIABLE!!
document.getElementById("myspan").innerHTML="newtext";
내부 사용HTML은 권장하지 않습니다.대신 textNode를 작성해야 합니다.이렇게 하면 텍스트가 "바인딩"되고 적어도 이 경우 XSS 공격에 취약하지 않습니다.
document.getElementById("myspan").innerHTML = "sometext"; //INSECURE!!
올바른 방법:
span = document.getElementById("myspan");
txt = document.createTextNode("your cool text");
span.appendChild(txt);
이 취약성에 대한 자세한 내용은 다음을 참조하십시오.사이트 간 스크립팅(XSS) - OWASP
2017년 11월 4일 편집 :
@mumush 제안에 따라 코드의 세 번째 줄 "대신 append Child(); 사용"을 수정했습니다.
그런데 @Jimbo Jonny에 따르면 모든 것은 층별 보안 원칙을 적용하여 사용자 입력으로 취급해야 한다고 생각합니다.그래야 놀랄 일이 없을 거야
편집: 이것은 2014년에 작성되었습니다.많은 것이 바뀌었다.IE8에 대해 더 이상 신경 쓰지 않을 것입니다.Firefox는 이제innerText
.
소스)에 의해 하지 않는 , " "를합니다."innerHTML
허용할 수 있습니다.
// * Fine for hardcoded text strings like this one or strings you otherwise
// control.
// * Not OK for user-supplied input or strings you don't control unless
// you know what you are doing and have sanitized the string first.
document.getElementById('myspan').innerHTML = 'newtext';
하듯이, 는, 「」를 합니다.innerHTML
먼저 텍스트를 제대로 삭제하지 않으면 XSS와 같은 콘텐츠 주입 공격을 받을 수 있습니다.
사용자의 입력을 사용하는 경우 브라우저 간 호환성을 유지하면서 안전하게 입력을 수행할 수 있는 한 가지 방법이 있습니다.
var span = document.getElementById('myspan');
span.innerText = span.textContent = 'newtext';
는 Firefox를 지원하지 innerText
IE8을 .textContent
상호 호환성을 유지하려면 둘 다 사용해야 합니다.
가 원인)를 피하고 innerText
다음 중 하나:
var span = document.getElementById('myspan');
if ('textContent' in span) {
span.textContent = 'newtext';
} else {
span.innerText = 'newtext';
}
document.getElementById('myspan').innerHTML = 'newtext';
용 i i i i를 쓴다.Jquery
이치왜 그런지 모르겠지만, 이것은 효과가 있었습니다.
$("#span_id").text("new_value");
또 다른 방법이 있습니다.
var myspan = document.getElementById('myspan');
if (myspan.innerText) {
myspan.innerText = "newtext";
}
else
if (myspan.textContent) {
myspan.textContent = "newtext";
}
innerText 속성은 Safari, Google Chrome 및 MSIE에서 탐지됩니다.파이어폭스의 경우 textContent를 사용하는 것이 일반적인 방법이었지만, 버전 45부터는 innerText 속성도 포함되어 있습니다.최근 누군가가 친절하게 알려줬습니다.이 솔루션은 브라우저가 이러한 속성 중 하나를 지원하는지 여부를 테스트하고 지원한다면 "새 텍스트"를 할당합니다.
라이브 데모: 이쪽
위의 순수 javascript 답변 외에 다음과 같이 jQuery 텍스트 메서드를 사용할 수 있습니다.
$('#myspan').text('newtext');
span 또는 div 요소의 html 내용을 가져오거나 변경하기 위해 답변을 확장해야 하는 경우 다음을 수행할 수 있습니다.
$('#mydiv').html('<strong>new text</strong>');
참고 자료:
.text():http://api.jquery.com/text/
.filength():http://api.jquery.com/html/
querySelector() 메서드는 지정된 셀렉터를 가진 첫 번째 요소를 반환하기 때문에 'myspan' ID가 고유하다고 가정할 수도 있습니다.
document.querySelector('#myspan').textContent = 'newtext';
다른 대답처럼 내면의HTML 및 innerText는 권장하지 않습니다.textContent를 사용하는 것이 좋습니다.이 속성은 잘 지원됩니다.http://caniuse.com/ #search=textContent를 확인할 수 있습니다.
document.getElementById("myspan").textContent="newtext";
ID가 "Dom-node"인 ""가됩니다.myspan
텍스트 내용을 로 변경합니다.new text
할수있습니다
문서.querySelector("[Span])".textContent = "content_to_display";
(function ($) {
$(document).ready(function(){
$("#myspan").text("This is span");
});
}(jQuery));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span id="myspan"> hereismytext </span>
"displaces"text()
스팬 텍스트를 변경합니다.
다음과 같은 HTML 코드 삽입과 함께 사용할 수 없습니다.
var a = "get the file <a href='url'>the link</a>"
var b = "get the file <a href='url'>another link</a>"
var c = "get the file <a href='url'>last link</a>"
.
document.getElementById("myspan").textContent=a;
<span id="myspan">first text</span>
타이머를 사용하여 참조 대상을 텍스트로 표시할 뿐 코드를 실행하지 않습니다.이 경우에도 소스 코드에 올바르게 표시됩니다.jquery 어프로치가 실제로 솔루션이 아닌 경우 다음을 사용합니다.
document.getElementById("myspan").innerHTML = a to c;
가장 좋은 방법이라고 생각합니다.
2022년에도 많은 사람들이 이 질문을 접하고 있으며, 이용 가능한 답변은 아직 최신이 아니다.
innerText
입니다.
MDM Docs에서 볼 수 있듯이 innerText
의 텍스트를 검색 및 변경하는 가장 좋은 방법입니다.<span>
Javascript jav통 htmlHTML jav jav jav 。
innerText
속성이 매우 잘 지원됩니다(Caniuse에 따르면 전체 웹 사용자의 97.53%).
사용방법
다음과 같이 속성을 사용하여 새 텍스트를 검색하고 설정하십시오.
let mySpan = document.getElementById("myspan");
console.log(mySpan.innerText);
mySpan.innerText = "Setting a new text content into the span element.";
왜더보다 요?innerHTML
마세요innerHTML
사용자 입력으로 콘텐츠를 업데이트하면 설정할 문자열 내용이 해석되어 HTML 태그로 변환되므로 심각한 취약성이 발생할 수 있습니다.
즉, 사용자가 사이트에 스크립트를 삽입할 수 있습니다.이것은 XSS 공격/취약성(사이트 간 스크립팅)이라고 불립니다.
왜더보다 요?textContent
번째 포인트 ★★★★★★★★★★★★★★★★★★★★」textContent
IE8에서는 지원되지 않습니다(하지만 2022년에는 아무도 신경 쓰지 않을 것입니다). 그 는 '실제'를 사용해서 얻을 수 입니다.textContent
innerText
.
MDM 문서의 예는 이를 설명하는 데 매우 적합합니다.따라서 다음과 같은 설정을 실시합니다.
<p id="source">
<style>#source { color: red; } #text { text-transform: uppercase; }</style>
<span id=text>Take a look at<br>how this text<br>is interpreted
below.</span>
<span style="display:none">HIDDEN TEXT</span>
</p>
사용하시는 경우innerText
텍스트 내용을 검색하다<p id="source">
을 사용하다
TAKE A LOOK AT
HOW THIS TEXT
IS INTERPRETED BELOW.
이게 바로 우리가 원하던 거야
사용하겠습니다.textContent
을 사용하다
#source { color: red; } #text { text-transform: uppercase; }
Take a look athow this textis interpreted
below.
HIDDEN TEXT
네가 기대했던 것과는 다르게...
에 '우리'를 사용해서textContent
올바른 방법이 아닙니다.
마지막 포인트
가 ""만 을 목표로 <p>
★★★★★★★★★★★★★★★★★」<span>
HTML 요소, nicoo의 답변입니다.새 텍스트 노드를 생성하여 다음과 같이 기존 요소에 추가할 수 있습니다.
let mySpan = document.getElementById("myspan");
const newTextNode = document.createTextNode("Youhou!"),
mySpan.appendChild(newTextNode);
이 기간 동안
<span id="name">sdfsdf</span>
다음과 같이 할 수 있습니다:-
$("name").firstChild.nodeValue = "Hello" + "World";
썼어 ★★★★★★★★★★★★★★★★★★.document.querySelector('ElementClass').innerText = 'newtext';
클래스/버튼 내의 스판, 텍스트와 연동되는 것으로 보입니다.
어떤 이유에서인지 대부분의 브라우저에서는 "텍스트" 속성을 사용하는 것이 좋은 방법인 것 같습니다.그것은 나에게 효과가 있었다.
$("#span_id.").텍스트(할당 텍스트 값);
언급URL : https://stackoverflow.com/questions/1358810/how-do-i-change-the-text-of-a-span-element-using-javascript
'programing' 카테고리의 다른 글
JSON은 Infinity와 NaN을 생략했습니다. ECMAScript에서 JSON 상태는? (0) | 2022.10.08 |
---|---|
jQuery에서 체크박스가 켜져 있는지 여부를 확인하려면 어떻게 해야 합니까? (0) | 2022.10.08 |
뷰에서 기능을 사용하는 방법 (0) | 2022.10.02 |
판다의 특정 기둥 인덱스에 기둥을 삽입하는 방법은 무엇입니까? (0) | 2022.10.02 |
외부 키 참조 복합 기본 키 (0) | 2022.10.02 |