- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
HTML(JADE)
p#result Lorem ipsum is javascript j s lo 1 2 4 this meteor thismeteor. meteor
input.search
JS
Template.pg.events({
'keyup .search': function(e){
e.preventDefault();
var text = $('p#result').text();
var splitText = text.match(/\S+\s*/g);
var input = $(e.target).val();
var splitInput = input.match(/\S+\s*/g);
if(_.intersection(splitText, splitInput)) {
var match = _.intersection(splitText, splitInput);
var matchToString = match.toString();
$('p#result').text().replace(matchToString, ''+matchToString+ '')
}
console.log(splitText); //check what I get
console.log(splitInput); //check what I get
}
})
我有上面的代码。
我想做的是匹配输入字段的值,然后匹配文本。我将其功能添加到 keyup
中,以便它是 react 性的。
当字段和文本匹配时,它会在匹配的字符串(文本)中添加粗体标签
.
我想我已经快到了,但还没有完全实现。
我将如何继续?
MeteorPad Here
1 Câu trả lời
在您的代码中,您似乎只匹配整个单词,尽管您的问题没有指定这一点。如果您想匹配输入中的任何文本(例如,如果您键入“a”,文本中的所有“a”都会变为粗体),您可以使用 javascript 相对轻松地做到这一点split
Và tham gia
字符串方法:
Template.pg.events({
'keyup .search': function(e){
e.preventDefault();
var text = $('p#result').text();
var input = $(e.target).val();
var splitText = text.split(input); // Produces an array without whatever's in the input
console.log(splitText);
var rep = splitText.join("" + input + ""); // Produces a string with inputs replaced by boldened inputs
console.log(rep);
$('p#result').html(rep);
}
});
值得注意的是,您必须使用 $('p#result').html()
替换页面上的文本,而您的 MeteorPad 示例中缺少该文本。另请注意,这是区分大小写的实现;您可以使用正则表达式来进行split
,但是当您想要替换tham gia
中的文本时,它会变得有点复杂。你可以在这个MeteorPad上尝试一下。 。
要不区分大小写地执行此操作,拆分非常简单 - 您可以使用 RegExp,如下所示:
...
var regex = new RegExp($(e.target).val(), 'gi'); // global and case-insensitive, where `input` used to be
棘手的事情是提取您想要提取的内容的正确大小写,然后将其放回原处 - 您无法通过简单的 tham gia
来完成此操作,因此您将拥有交错两个数组。您可以看到交错数组的示例 đây ,取自this question 。我对此进行了一些修改,以处理不均匀的数组长度,如下:
var interleave = function(array1, array2) {
return $.map(array1, function(v, i) {
if (array2[i]) { return [v, array2[i]]; } // deals with uneven array lengths
else { return [v]; }
});
}
我还创建了另一个 MeteorPad你可以使用它来完成这一切。 lo
是一个值得检查的很好的测试字符串。
关于javascript - 将输入字符串与文本/元素匹配并突出显示 react 性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29600258/
Vấn đề là, khi người dùng trả lời bài đăng của nhau, tôi phải làm thế này: margin-left:40px; cho 1 cấp sâu react margin-left:80px; cho 2 cấp sâu v.v. Nhưng tôi muốn div react
Tôi đang cố gắng tìm cách kết nối React Router với React VR. Đầu tiên, tôi có nên sử dụng react-router dom/native không? Hiện tại vẫn chưa rõ ràng vì React VR được xây dựng trên React.
Tôi mới làm quen với React hoặc có kiến thức cơ bản về lập trình nói chung. Tôi không chắc sự khác biệt giữa các câu lệnh import * as react from 'react' và import react from 'react' là gì. Cảm ơn bạn trước!
Tôi đang sử dụng phiên bản ổn định mới nhất của react, react-native, react-test-renderer, react-dom. Tuy nhiên, react-native phụ thuộc vào react@16.0.0-alp
Có thể phát triển ứng dụng React Native thông qua kiến trúc phần mềm như MVC, MVP, MVVM không? Cảm ơn bạn. Câu trả lời tốt nhất là có. React Native chỉ là chữ “V” trong các mẫu thiết kế phần mềm mà bạn đã đề cập. Nếu bạn xem xét nó
Xin chào, tôi đang cố gắng liên kết một hàm vào nút bên phải của trình duyệt nhưng nó lại báo lỗi. Đây là mã của tôi: import React, {Component} from 'react'; import Ico
Tôi đã tạo một ứng dụng bằng React Native và tôi đang cố gắng tạo apk. Xem http://facebook.github.io/react-native/docs/signed-apk-android.
1 [Tôi đã thử thay đổi z-index của phân trang thành 0 nhưng không được] Đây là liên kết đến codesandbox của tôi: Vui lòng kiểm tra menu thả xuống chọn cuối cùng, nó nằm sau phân trang. https://codesandbox.io/s/j
Tôi nhận thấy React có thể được nhập như thế này: import * as React from 'react'; ...hoặc như thế này: import React from 'react'; Lần nhập đầu tiên là React
Tôi mới làm quen với react-native. Tôi đang sử dụng React Native Paper để cung cấp chủ đề cho mọi màn hình. Tôi cũng đang sử dụng react-navigation stack navigator và drawer navigator. Đầu tiên, để điều hướng, chủ đề của bài viết không nằm trong thành phần điều hướng.
Tôi có một ứng dụng React Native được tạo bằng Ignite CLI. Tôi đang cố gắng sử dụng TabNavigator với React Navigation nhưng tôi không thể tìm ra cách lấy dữ liệu từ một ứng dụng
Tôi đang cố gắng thực hiện thử nghiệm chụp nhanh trong ứng dụng React của mình. Tôi hiện đang sử dụng thư viện react-testing để kiểm thử đơn vị chung. Tuy nhiên, đối với thử nghiệm chụp nhanh, tôi đã thấy nhiều cách tiếp cận khác nhau trực tuyến, sử dụng phản ứng
Tôi đang xây dựng một ứng dụng gốc đa nền tảng bằng cách sử dụng react-native và sử dụng react-navigation để điều hướng giữa các màn hình và redux để quản lý trạng thái điều hướng. Sự cố xảy ra khi tôi lồng các trình điều hướng. Ví dụ,
Tôi đang gặp phải một vấn đề khá phức tạp liên quan đến phân trang và Điều hướng React Native. Nhấp vào ngăn kéo có danh sách các danh mục và tất cả chúng sẽ chuyển đến màn hình. Phát biểu vấn đề: Khi tôi nhấp vào các danh mục một cách ngẫu nhiên, mọi thứ đều hoạt động bình thường. Tuy nhiên, tôi gặp phải sự cố trong quá trình phân trang. Giả mạo
Đây là điều hướng ngăn kéo của tôi: const DashboardStack = StackNavigator({ Dashboard: { screen: Dashboard
Đang cố gắng xây dựng ứng dụng Android react-native nhưng nhận được thông tin lỗi sau Chạy jetifier để di chuyển thư viện sang AndroidX. Bạn có thể
Hiện tại tôi đang triển khai React Router v.4 trong một ứng dụng, trong đó tôi cũng sử dụng Webpack để đóng gói. Trong cấu hình webpack của tôi, tôi có React, ReactDOM và React-route
Tôi đang sử dụng React.children để render một số tuyến con với react router (cho tất cả các tuyến con trong một tuyến chính nhất định. Điều này hoạt động tốt với tôi, nhưng trước đó tôi đã hủy cấu trúc các thuộc tính được truyền cho các tuyến con
Khi tôi chạy ứng dụng React, nó báo lỗi export 'React' (nhập dưới dạng 'React') không tìm thấy trong 'react'. Đối với tất cả các lỗi trang, hãy xem hình ảnh ở đây. Câu trả lời tốt nhất dựa trên lỗi trong hình ảnh
Tôi gặp lỗi này khi triển khai Image-slider trên ứng dụng của mình bằng ví dụ này. nhập React,{Component} từ 'react' nhập {View,T
Tôi là một lập trình viên xuất sắc, rất giỏi!