Ghi chú. API này không được dùng trong jQuery 3. 5; . Không giống như
ab3,
ab2 không hoạt động với các loại khác với chuỗi [
ab5,
ab6,
ab7]. Đảm bảo rằng mã của bạn tương thích khi di chuyển
Hàm
ab8 xóa tất cả các dòng mới, khoảng trắng [bao gồm cả khoảng trắng không ngắt] và các tab khỏi đầu và cuối của chuỗi được cung cấp. Nếu các ký tự khoảng trắng này xuất hiện ở giữa chuỗi, chúng sẽ được giữ nguyên
Bạn có thể sử dụng hàm
ab8 của jQuery để xóa tất cả khoảng trắng [bao gồm cả khoảng trắng không ngắt], dòng mới và tab khỏi đầu và cuối của chuỗi đã chỉ định
Tuy nhiên, các khoảng trắng ở giữa chuỗi được giữ nguyên. Ví dụ sau sẽ chỉ cho bạn cách xóa khoảng trắng ở đầu và cuối khỏi một chuỗi văn bản
Tất cả mọi thứ là như nó nên được. Có lẽ tôi nên thiết lập một số thuộc tính cho toàn bộ cơ thể?
Tại sao nó xảy ra
Trình duyệt của bạn coi ngắt dòng là khoảng trắng. không phải là ngắt dòng mà là dấu cách.
Một ví dụ đơn giản để chứng minh điều này.
a b
Mã trên trả về
0 trong trình duyệt, tuy nhiên, nếu bạn bỏ ngắt dòng thì mã này là.first div
second div
ab
Và đoạn mã trên trả về
1 trong trình duyệt.first div
second div
làm thế nào để tránh những không gian đó?
Thêm
2 vào mọi thuộc tính kiểu.first div
second div
first div
second div
Ghi chú. Tôi khuyên bạn nên tạo một lớp CSS thay vì sử dụng thuộc tính
3.first div
second div
Trong thẻ của bạn, hãy thêm
0 nàyfirst div
second div
Rất nhiều trang web cung cấp cho bạn khả năng sao chép một số đoạn văn bản/mã/thứ gì đó ra khỏi trang web của họ theo chức năng kiểu "sao chép vào khay nhớ tạm". Trong quá trình tạo một chức năng như vậy trên một trang nhỏ mà tôi đang tạo, tôi muốn tạo html được sao chép thật chặt chẽ và nhỏ gọn. Những điều khó chịu nhất là khoảng trắng và dòng mới. Đây là một số javascript để loại bỏ khoảng trắng giữa các thẻ xml/html
Tôi không phải là bậc thầy về biểu thức chính quy, vì vậy tôi chia phần này thành 4 phần riêng biệt
// remove newline / carriage return
str.replace[/\n/g, ""];
// remove whitespace [space and tabs] before tags
str.replace[/[\t ]+\[\t ]+\[\t ]+$/g, ">"];
Trả về chuỗi thay thế và đặt thành giá trị bạn muốn lưu. Tôi muốn sử dụng jQuery, vì vậy đây là sản phẩm cuối cùng
$["#copy-txt"].val[
$["#nn-results"].html[].replace[/\n/g, ""]
.replace[/[\t ]+\[\t ]+\[\t ]+$/g, ">"]
];
Tôi có một div chứa id "nn-results", lấy html bên trong của nó, thực hiện thay thế trên html đó, sau đó đặt giá trị phần tử đầu vào id="copy-txt" thành kết quả. Tôi đã thấy một số bài đăng mà mọi người cố gắng thực hiện tất cả sự thay thế đó trong một biểu thức chính quy, nhưng tôi không đủ giỏi với kết hợp biểu thức chính quy/js để làm cho nó hoạt động. Nếu ai đó đã sẵn sàng trở nên chuyên nghiệp và điều đó không dễ dàng, vui lòng bình luận bên dưới
Hôm nay, chúng ta sẽ xem xét một số cách khác nhau để xóa khoảng trắng ở đầu hoặc cuối chuỗi bằng vanilla JavaScript
Nào cùng đào vào bên trong
Phương pháp first div
second div
4
first div
second div
Bạn có thể gọi phương thức
5 trên chuỗi của mình để xóa khoảng trắng ở đầu và cuối chuỗi. Nó trả về một chuỗi mớifirst div
second div
var hello = ' Hello there! ';
// returns "Hello there!"
hello.trim[];
Phương pháp
4 hoạt động trong tất cả các trình duyệt hiện đại và quay lại IE9first div
second div
Phương pháp first div
second div
7
first div
second div
Phương thức
8 hoạt động giống nhưfirst div
second div
5, nhưng chỉ loại bỏ khoảng trắng ở đầu chuỗifirst div
second div
// returns "Hello there! "
hello.trimStart[];
Phương pháp
7 hoạt động trong tất cả các trình duyệt hiện đại, nhưng không hỗ trợ IE. Bạn có thể đẩy hỗ trợ trở lại IE9 bằng một polyfillfirst div
second div
Phương pháp // returns "Hello there! "
hello.trimStart[];
0
// returns "Hello there! "
hello.trimStart[];
Phương thức
// returns "Hello there! "
hello.trimStart[];
1 hoạt động giống như 8, nhưng loại bỏ khoảng trắng ở cuối chuỗi thay vì ở đầufirst div
second div
ab0
Phương pháp
// returns "Hello there! "
hello.trimStart[];
0 hoạt động trong tất cả các trình duyệt hiện đại, nhưng không hỗ trợ IE. Bạn có thể đẩy hỗ trợ trở lại IE9 bằng một polyfill