Cách chuyển giá trị động trong @Url. Hành động?, var param = 'một số giá trị động đã biết trên máy khách'; . Hành động [" SomeAction", "SomeController", new { someParam The @Url. Phương thức hành động được xử lý ở phía máy chủ, vì vậy bạn không thể chuyển giá trị phía máy khách cho hàm này dưới dạng tham số. Bạn có thể nối các biến phía máy khách với url phía máy chủ được tạo bởi phương pháp này, đây là một chuỗi ở đầu ra
bước. Đầu tiên, chúng ta cần biết các thuật ngữ sau, “vị trí. href” -> Đó là toàn bộ URL của trang hiện tại. “this” -> Đề cập đến thẻ ‘a’ đã được nhấp vào. "cái này. href” -> lấy giá trị href từ thẻ ‘a’. Một khi chúng ta có “cái này. href”, nối thêm biến vào nó [Ở đây chúng tôi đã sử dụng một biến có tên là “XYZ”]
Truyền tham số cho hàm JavaScript title trong HTML. mã ví dụ. Rất dễ Truyền tham số cho hàm JavaScript bằng hàm onClick[]. Nếu gửi một giá trị chuỗi thì hãy sử dụng trích dẫn kép” ” hoặc đơn ” trong hàm. 1. Ví dụ Truyền tham số chuỗi trong hàm onClick
Bạn không thể truy cập các biến JS từ HTML của mình. Bạn phải làm một cái gì đó như thế này. var filename = 'thử nghiệm'; . getElementById['testdiv']. setAttribute[' title', "cảnh báo['" + tên tệp + "']"];
Bao gồm một phần tử sự kiện chức năng JavaScript của onClick[]. Quan trọng nhất là phần chính như bạn muốn biết về thông số của nó. Vì vậy, chúng ta chuyển một tham số trong hàm JavaScript bằng cách sử dụng nút Html hàm onClick. Sau đó, truyền một đối số với chức năng sự kiện onClick
hàm myFunction[] {. tài liệu. getElementById["trường2"]. giá trị = tài liệu. getElementById["trường1"]. giá trị; . Tự mình thử ». Ví dụ. Gán sự kiện " title" cho đối tượng cửa sổ. cửa sổ. title = myFunction;
Vì vậy, chúng ta chuyển một tham số trong hàm JavaScript bằng cách sử dụng nút Html hàm onClick. Sau đó, truyền một đối số với chức năng sự kiện onClick. Sau đó, chúng tôi triển khai mã tập lệnh chức năng này trong phần bên dưới của nội dung. Thứ hai, đề cập đến trong các thẻ tập lệnh chức năng coll và sau đó nhận tham số
JavaScript. . Truyền tham số chuỗi trong onClick Có một cách để truyền văn bản html làm tham số cho hàm javascript. Chỉ cần thay thế tất cả các ký tự cụ thể trong thẻ html trước khi bạn chuyển nó sang hàm javascript. Sau này trong javascript, bạn chỉ cần hoàn nguyên tất cả các ký tự cụ thể trở lại bình thường
8 sử dụng các phương thức riêng để chuyển đổi chuỗi thành một tập hợp các nút DOM, sau đó có thể chèn các nút này vào tài liệu. Các phương pháp này hiển thị tất cả văn bản ở cuối hoặc đầu [ngay cả khi đó chỉ là khoảng trắng]. Để ngăn không cho khoảng trắng ở cuối/đầu bị chuyển đổi thành các nút văn bản, bạn có thể chuyển chuỗi HTML qua
Demonstration Box
9
Demonstration Box
Theo mặc định,
0 là
Demonstration Box
1 hiện tại nếu không được chỉ định hoặc được cung cấp dưới dạng
Demonstration Box
2 hoặc
Demonstration Box
3. Nếu HTML được sử dụng trong một tài liệu khác, chẳng hạn như khung nội tuyến, thì tài liệu của khung đó có thể được sử dụng
Demonstration Box
kể từ 3. 0 hành vi mặc định được thay đổi. Nếu
0 không được chỉ định hoặc được cho là
Demonstration Box
2 hoặc
Demonstration Box
3, thì một
Demonstration Box
1 mới sẽ được sử dụng. Điều này có khả năng cải thiện bảo mật vì các sự kiện nội tuyến sẽ không thực thi khi HTML được phân tích cú pháp. Khi HTML đã phân tích cú pháp được đưa vào tài liệu, nó sẽ thực thi, nhưng điều này mang lại cho các công cụ cơ hội duyệt qua DOM đã tạo và xóa mọi thứ được coi là không an toàn. Cải tiến này không áp dụng cho việc sử dụng nội bộ của
Demonstration Box
8 vì chúng thường vượt qua trong
Demonstration Box
1 hiện tại. Do đó, một câu lệnh như
Demonstration Box
15 vẫn có thể bị tiêm mã độc
Demonstration Box
Cân nhắc về Bảo mật
Hầu hết các API jQuery chấp nhận chuỗi HTML sẽ chạy các tập lệnh có trong HTML.
8 không chạy tập lệnh trong HTML được phân tích cú pháp trừ khi
Demonstration Box
17 rõ ràng là
Demonstration Box
18. Tuy nhiên, trong hầu hết các môi trường vẫn có thể thực thi tập lệnh một cách gián tiếp, chẳng hạn như thông qua thuộc tính
Demonstration Box
19. Người gọi nên biết điều này và đề phòng nó bằng cách xóa hoặc thoát mọi đầu vào không đáng tin cậy khỏi các nguồn như URL hoặc cookie. Để tương thích trong tương lai, người gọi không nên phụ thuộc vào khả năng chạy bất kỳ nội dung tập lệnh nào khi
Demonstration Box
17 không được chỉ định hoặc
Demonstration Box
6
Demonstration Box
Trong tài liệu HTML,
0 có thể được sử dụng để lấy nội dung của bất kỳ phần tử nào. Nếu biểu thức bộ chọn khớp với nhiều phần tử, thì chỉ phần tử khớp đầu tiên sẽ được trả về nội dung HTML của nó. Hãy xem xét mã này
Demonstration Box
1
$[ "div.demo-container" ].html[];
Để lấy được nội dung của
1 sau, nó phải là nội dung đầu tiên có
Demonstration Box
2 trong tài liệu
Demonstration Box
1
2
3
Demonstration Box
Kết quả sẽ như thế này
1
Demonstration Box
Phương pháp này sử dụng thuộc tính
3 của trình duyệt. Một số trình duyệt có thể không trả về HTML sao chép chính xác nguồn HTML trong tài liệu gốc. Ví dụ: đôi khi Internet Explorer bỏ dấu ngoặc kép xung quanh các giá trị thuộc tính nếu chúng chỉ chứa các ký tự chữ và số
Demonstration Box
Ghi chú bổ sung
- Theo thiết kế, bất kỳ hàm tạo hoặc phương thức jQuery nào chấp nhận chuỗi HTML — jQuery[],. nối thêm[],. sau [], v.v. - có khả năng có thể thực thi mã. Điều này có thể xảy ra bằng cách chèn các thẻ tập lệnh hoặc sử dụng các thuộc tính HTML thực thi mã [ví dụ:
4]. Không sử dụng các phương pháp này để chèn các chuỗi thu được từ các nguồn không đáng tin cậy, chẳng hạn như tham số truy vấn URL, cookie hoặc đầu vào biểu mẫu. Làm như vậy có thể dẫn đến lỗ hổng cross-site-scripting [XSS]. Xóa hoặc thoát bất kỳ đầu vào nào của người dùng trước khi thêm nội dung vào tài liệuDemonstration Box
Ví dụ
Nhấp vào một đoạn văn để chuyển đổi nó từ html sang văn bản
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
________số 8Thử nghiệm
.html[ htmlString ]Trả về. jQuery
Sự miêu tả. Đặt nội dung HTML của từng phần tử trong tập hợp các phần tử phù hợp
đã thêm phiên bản. 1. 0 . html[ htmlString ]
htmlChuỗi
Loại. htmlChuỗi
Một chuỗi HTML để đặt làm nội dung của từng phần tử phù hợp
đã thêm phiên bản. 1. 4 . html[ hàm ]
chức năng
Loại. Hàm [Chỉ mục số nguyên, htmlString oldhtml] => htmlString
Một hàm trả về nội dung HTML để đặt. Nhận vị trí chỉ mục của phần tử trong tập hợp và giá trị HTML cũ làm đối số. jQuery làm trống phần tử trước khi gọi hàm; . Trong hàm,
5 đề cập đến phần tử hiện tại trong tập hợpDemonstration Box
Phương thức
0 không có trong tài liệu XML
Demonstration Box
Khi
0 được sử dụng để đặt nội dung của phần tử, mọi nội dung trong phần tử đó sẽ được thay thế hoàn toàn bằng nội dung mới. Ngoài ra, jQuery loại bỏ các cấu trúc khác như trình xử lý dữ liệu và sự kiện khỏi các phần tử con trước khi thay thế các phần tử đó bằng nội dung mới
Demonstration Box
Hãy xem xét HTML sau
1
2
3
Demonstration Box
Nội dung của
8 có thể được thiết lập như thế này
Demonstration Box
1
2
4
$[ "div.demo-container" ].html[];
Dòng mã đó sẽ thay thế mọi thứ bên trong
8
Demonstration Box
1
2
3
6
$[ "div.demo-container" ].html[];
Kể từ jQuery 1. 4, phương thức
0 cho phép thiết lập nội dung HTML bằng cách truyền vào một hàm
Demonstration Box
1
2
3
4
8
$[ "div.demo-container" ].html[];
Đưa ra một tài liệu có sáu đoạn văn, ví dụ này sẽ đặt HTML của
8 thành
Demonstration Box
2
Demonstration Box
Phương pháp này sử dụng thuộc tính
3 của trình duyệt. Một số trình duyệt có thể không tạo DOM sao chép chính xác nguồn HTML được cung cấp. Ví dụ: Internet Explorer trước phiên bản 8 sẽ chuyển đổi tất cả thuộc tính
Demonstration Box
4 trên các liên kết thành URL tuyệt đối và Internet Explorer trước phiên bản 9 sẽ không xử lý chính xác các phần tử HTML5 nếu không bổ sung lớp tương thích riêng
Demonstration Box
Để đặt nội dung của phần tử
5, không chứa HTML, hãy sử dụng phương thức
Demonstration Box
6 chứ không phải
Demonstration Box
0
Demonstration Box
Ghi chú. Trong Internet Explorer cho đến và bao gồm cả phiên bản 9, việc đặt nội dung văn bản của một phần tử HTML có thể làm hỏng các nút văn bản của phần tử con của nó đang bị xóa khỏi tài liệu do thao tác. Nếu bạn đang giữ các tham chiếu đến các phần tử DOM này và cần chúng không thay đổi, hãy sử dụng
8 thay vì
Demonstration Box
9 để các phần tử được xóa khỏi tài liệu trước khi chuỗi mới được gán cho phần tử
Demonstration Box