ฉันจะบรรลุสิ่งต่อไปนี้ได้อย่างไร:
document.all.regTitle.innerHTML = 'Hello World';
ใช้ jQuery regTitle
ID div ของฉันอยู่ที่ไหน
ฉันจะบรรลุสิ่งต่อไปนี้ได้อย่างไร:
document.all.regTitle.innerHTML = 'Hello World';
ใช้ jQuery regTitle
ID div ของฉันอยู่ที่ไหน
คำตอบ:
$("#regTitle").html("Hello World");
HTML ()ฟังก์ชั่นสามารถใช้สายของ HTML และมีประสิทธิภาพจะปรับเปลี่ยน.innerHTML
คุณสมบัติ
$('#regTitle').html('Hello World');
อย่างไรก็ตามฟังก์ชันtext ()จะเปลี่ยนค่า (text) ขององค์ประกอบที่ระบุ แต่เก็บhtml
โครงสร้างไว้
$('#regTitle').text('Hello world');
text()
Unlike the .html() method, .text() can be used in both XML and HTML documents.
นอกจากนี้ตามstackoverflow.com/questions/1910794/...jQuery.html() treats the string as HTML, jQuery.text() treats the content as text
,
หากคุณมีวัตถุ jquery แทนคุณต้องการแสดงผลแทนเนื้อหาที่มีอยู่: จากนั้นเพียงรีเซ็ตเนื้อหาและผนวกใหม่
var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);
หรือ:
$('#regTitle').empty().append(newcontent);
itemtoReplaceContentOf.empty();
newcontent
เป็นวัตถุ jQuery? ยังไม่ชัดเจน
htmlString
หรือElement
หรือText
หรือArray
หรือjQuery
ตามapi.jquery.com/append
นี่คือคำตอบของคุณ:
//This is the setter of the innerHTML property in jQuery
$('#regTitle').html('Hello World');
//This is the getter of the innerHTML property in jQuery
var helloWorld = $('#regTitle').html();
ตอบ:
$("#regTitle").html('Hello World');
คำอธิบาย:
$
jQuery
เทียบเท่ากับ ทั้งสองแสดงถึงวัตถุเดียวกันในไลบรารี jQuery "#regTitle"
ในวงเล็บที่เรียกว่าตัวเลือกซึ่งถูกใช้โดยห้องสมุด jQuery ที่จะระบุว่าองค์ประกอบ (s) ของ HTML DOM (Document Object Model) ที่คุณต้องการที่จะใช้รหัส #
ก่อนที่regTitle
จะบอกว่า jQuery regTitle
คือรหัสขององค์ประกอบภายใน DOM
จากนั้นสัญกรณ์จุดจะใช้ในการเรียกhtml ที่ฟังก์ชั่นซึ่งแทนที่ HTML 'Hello World'
ภายในกับสิ่งที่คุณวางพารามิเตอร์ในระหว่างวงเล็บซึ่งในกรณีนี้คือ
มีคำตอบที่ให้วิธีการเปลี่ยน HTML ภายในขององค์ประกอบ
แต่ฉันขอแนะนำคุณควรใช้แอนิเมชันเช่น Fade Out / Fade In เพื่อเปลี่ยน HTML ซึ่งให้ผลดีกับ HTML ที่เปลี่ยนไปแทนที่จะเปลี่ยน HTML ภายในทันที
$('#regTitle').fadeOut(500, function() {
$(this).html('Hello World!').fadeIn(500);
});
หากคุณมีฟังก์ชั่นมากมายที่ต้องการสิ่งนี้คุณสามารถเรียกใช้ฟังก์ชั่นทั่วไปซึ่งเปลี่ยน Html ภายในได้
function changeInnerHtml(elementPath, newText){
$(elementPath).fadeOut(500, function() {
$(this).html(newText).fadeIn(500);
});
}
คุณสามารถใช้ฟังก์ชัน html หรือ text ใน jquery เพื่อให้บรรลุ
$("#regTitle").html("hello world");
หรือ
$("#regTitle").text("hello world");
jQuery's .html()
สามารถใช้สำหรับการตั้งค่าและรับเนื้อหาขององค์ประกอบที่ไม่ว่างเปล่าที่ตรงกัน ( innerHTML
)
var contents = $(element).html();
$(element).html("insert content into element");
ตัวอย่าง
$( document ).ready(function() {
$('.msg').html('hello world');
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div class="msg"></div>
</body>
</html>
$("#regTitle")[0].innerHTML = 'Hello World';
เพียงเพื่อเพิ่มความเข้าใจด้านประสิทธิภาพ
ไม่กี่ปีที่ผ่านมาฉันมีโครงการที่เรามีปัญหาในการพยายามตั้งค่า HTML / ข้อความขนาดใหญ่เป็นองค์ประกอบ HTML ต่างๆ
ปรากฏว่า "การสร้างใหม่" องค์ประกอบและการฉีดเข้าไปใน DOM นั้นเร็วกว่าวิธีที่แนะนำเพื่ออัปเดตเนื้อหา DOM
ดังนั้นสิ่งที่ชอบ:
var text = "very big content";
$("#regTitle").remove();
$("<div id='regTitle'>" + text + "</div>").appendTo("body");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
ควรทำให้คุณมีประสิทธิภาพที่ดีขึ้น ฉันไม่ได้พยายามเมื่อเร็ว ๆ นี้ (เบราว์เซอร์ควรฉลาดในช่วงนี้) แต่ถ้าคุณกำลังมองหาประสิทธิภาพมันอาจช่วยได้
ข้อเสียคือคุณจะมีงานมากขึ้นในการรักษา DOM และการอ้างอิงในสคริปต์ของคุณที่ชี้ไปยังวัตถุที่ถูกต้อง
jQuery มีฟังก์ชั่นบางอย่างที่ทำงานกับข้อความได้ถ้าคุณใช้text()
มันจะทำงานให้คุณ:
$("#regTitle").text("Hello World");
นอกจากนี้คุณสามารถใช้html()
แทนหากคุณมีแท็ก htmlใด ๆ...