Hướng dẫn add html tag to string javascript - thêm thẻ html vào chuỗi javascript

4

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi có mã sau trong React JS:

'use strict';

module.exports = {
    homePage: {
        sliderTitle: 'Creative portfolio',

        loginTitle: 'Do you already have an account?'

    },
    registrationPage: {
        foo: 'bar'
    }
};

Khi tôi cố gắng sử dụng các nhãn đó, tôi có

var EN = require('./en');
{EN.homePage.loginTitle}

Nhưng

var EN = require('./en');
{EN.homePage.loginTitle}
2 Trả về chuỗi với các thẻ B bên trong.

Làm thế nào tôi có thể áp dụng thẻ B này cho từ có?

Khi được hỏi ngày 17 tháng 5 năm 2016 lúc 12:23May 17, 2016 at 12:23

Hướng dẫn add html tag to string javascript - thêm thẻ html vào chuỗi javascript

3

Một tùy chọn như đã đề cập trong các nhận xét là sử dụng

var EN = require('./en');
{EN.homePage.loginTitle}
3 gán
var EN = require('./en');
{EN.homePage.loginTitle}
4 một đối tượng
var EN = require('./en');
{EN.homePage.loginTitle}
5 (lưu ý Double Undercore '__') và chuyển nó cho phần tử dưới dạng prop.

loginTitle: {__html: 'Do you already  have  an account?' }
...

Nói chung, mặc dù bạn nên tránh sử dụng

var EN = require('./en');
{EN.homePage.loginTitle}
3 bất cứ khi nào có thể được nhấn mạnh trong các tài liệu: https://facebook.github.io/react/tips/dangeryly-set-inner-html.html

Có các tùy chọn an toàn hơn khác để chèn HTML vào văn bản của bạn được nêu ở đây: http://facebook.github.io/react/docs/jsx-gotchas.html

Một điều nên hoạt động tốt cho bạn trong tình huống này là sử dụng một loạt các chuỗi hỗn hợp & JSX, vì vậy:

loginTitle: ['Do you already ', have, ' an account']
...

{EN.homePage.loginTitle}

Đây là bản demo cũng chỉ để minh họa rằng cả hai phương pháp đều có cùng một hiệu ứng.

Đã trả lời ngày 17 tháng 5 năm 2016 lúc 13:12May 17, 2016 at 13:12

1

Ngày nay, chúng tôi sẽ xem xét bốn kỹ thuật khác nhau mà bạn có thể sử dụng để có được và đặt văn bản và HTML trong các yếu tố DOM.

Nào cùng đào vào bên trong!

Tài sản var EN = require('./en'); {EN.homePage.loginTitle} 7

Bạn có thể sử dụng thuộc tính

var EN = require('./en');
{EN.homePage.loginTitle}
7 để nhận và đặt nội dung HTML bên trong một phần tử làm chuỗi.

<div class="greeting">
	<p>Hello world!p>
div>

let greeting = document.querySelector('.greeting');

// Get HTML content
// returns "

Hello world!

"
let html = greeting.innerHTML; // Set HTML content // This replaces what was in there already greeting.innerHTML = 'We can dynamically change the HTML. We can even include HTML elements like this link.'; // Add HTML to the end of an element's existing content greeting.innerHTML += ' Add this after what is already there.'; // Add HTML to the beginning of an element's existing content greeting.innerHTML = 'We can add this to the beginning. ' + elem.innerHTML; // You can inject entire elements into other ones, too greeting.innerHTML += '

A new paragraph

'
;

Ở đây, một bản demo của tài sản

var EN = require('./en');
{EN.homePage.loginTitle}
7.

Tài sản loginTitle: {__html: 'Do you already have an account?' } ...
0

Bạn có thể sử dụng thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
0 để nhận và đặt nội dung HTML bao gồm một phần tử. Điều này hoạt động giống như
var EN = require('./en');
{EN.homePage.loginTitle}
7, nhưng bao gồm chính phần tử khi nhận và cập nhật nội dung HTML.

<div class="greeting">
	<p>Hello world!p>
div>

let greeting = document.querySelector('.greeting');

// Get HTML content
// returns "

Hello world!

"
let html = greeting.outerHTML; // Set HTML content // This completely replaces the
element and all of its content
greeting.outerHTML = '

Goodbye, friend! Click here to leave.'; // Add HTML after the element (and outside of it) greeting.outerHTML += ' Add this after what is already there.'; // Add HTML before the element (and outside of it) greeting.outerHTML = 'We can add this to the beginning. ' + greeting.innerHTML;

Ở đây, một bản demo của tài sản

loginTitle: {__html: 'Do you already  have  an account?' }
...
0.

Tài sản loginTitle: {__html: 'Do you already have an account?' } ...
4

Bạn có thể sử dụng thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
4 để lấy và đặt văn bản của một phần tử (và bỏ qua đánh dấu) làm chuỗi.

Trong ví dụ dưới đây, bạn có thể nhận thấy rằng thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
4 có tất cả nội dung văn bản, bao gồm các thuộc tính CSS bên trong phần tử
loginTitle: {__html: 'Do you already  have  an account?' }
...
7 và các phần tử UI
loginTitle: {__html: 'Do you already  have  an account?' }
...
8.

Bất kỳ phần tử HTML nào có trong một chuỗi khi cài đặt nội dung với thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
4 được tự động được mã hóa và hiển thị AS-IS.

<div class="greeting">
	<style type="text/css">
		p {
			color: rebeccapurple;
		}
	style>
	<p hidden>This is not rendered.p>
	<p>Hello world!p>
div>

let greeting = document.querySelector('.greeting');

// Get text content
// returns "p {color: rebeccapurple;} This is not rendered. Hello world!"
let text = greeting.textContent;

// Set text content
// This completely replaces whats there, including any HTML elements
greeting.textContent = 'We can dynamically change the content.';

// Add text to the end of an element's existing content
greeting.textContent += ' Add this after what is already there.';

// Add text to the beginning of an element's existing content
greeting.textContent = 'We can add this to the beginning. ' + greeting.textContent;

// HTML elements are automatically encoded and rendered as-is
greeting.textContent = '

See you later!

'
;

Ở đây, một bản demo của tài sản

loginTitle: {__html: 'Do you already  have  an account?' }
...
4.

Thuộc tính loginTitle: ['Do you already ', have, ' an account'] ...

{EN.homePage.loginTitle}

1

Thuộc tính

loginTitle: ['Do you already ', have, ' an account']
...

{EN.homePage.loginTitle}

1 nhận được và đặt văn bản được hiển thị của một phần tử (và bỏ qua đánh dấu).

Không giống như thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
4, thuộc tính
loginTitle: ['Do you already ', have, ' an account']
...

{EN.homePage.loginTitle}

1 chỉ trả về văn bản được hiển thị, tương tự như những gì người dùng sẽ có thể chọn bằng con trỏ hoặc bàn phím của họ khi làm nổi bật văn bản.

Giống như

loginTitle: {__html: 'Do you already  have  an account?' }
...
4, bất kỳ phần tử HTML nào có trong chuỗi khi cài đặt nội dung được tự động được mã hóa và hiển thị AS-IS.

<div class="greeting">
	<style type="text/css">
		p {
			color: rebeccapurple;
		}
	style>
	<p hidden>This is not rendered.p>
	<p>Hello world!p>
div>

var EN = require('./en');
{EN.homePage.loginTitle}
1

Ở đây, một bản demo của tài sản

loginTitle: ['Do you already ', have, ' an account']
...

{EN.homePage.loginTitle}

1.

Bạn nên sử dụng cái nào?

Nói chung, nếu bạn chỉ sửa đổi văn bản, sử dụng thuộc tính

loginTitle: {__html: 'Do you already  have  an account?' }
...
4 là đặt cược tốt nhất, an toàn nhất của bạn.

Để sửa đổi HTML, thuộc tính

var EN = require('./en');
{EN.homePage.loginTitle}
7 rất hữu ích, nhưng có một số mối quan tâm bảo mật mà chúng tôi sẽ xem xét trong một bài viết khác.

Làm thế nào để bạn thêm HTML vào JavaScript?

Sử dụng thuộc tính bên trong: Để sử dụng thuộc tính bên trong, trước tiên hãy chọn phần tử (div) nơi bạn muốn nối mã. Sau đó, hãy thêm mã được đặt dưới dạng chuỗi sử dụng toán tử += trên bên trong.To append using the innerHTML attribute, first select the element (div) where you want to append the code. Then, add the code enclosed as strings using the += operator on innerHTML.

Thẻ HTML có thể được sử dụng trong JavaScript không?

Thẻ HTML được sử dụng để xác định tập lệnh phía máy khách (JavaScript).Phần tử chứa các câu lệnh script hoặc nó trỏ đến tệp tập lệnh bên ngoài thông qua thuộc tính SRC.Sử dụng phổ biến cho JavaScript là thao tác hình ảnh, xác thực hình thức và thay đổi động của nội dung.. The