Я работаю над событием щелчка - где оно скрывает любые users
, которые не совпадают со значением, по которому щелкнули Это фрагмент соответствующего HTML.
<div class="main">
<section class="tweets">
<div class="tweet">
<p class="time">Sun Mar 15 2020 20:04:53 GMT-0700 (Pacific Daylight Time)</p>
<p class="users" data="sharksforcheap">@sharksforcheap: </p>
<p class="message">last night i formulated a life #sxsw</p></div>
Когда я вручную ввожу значение users
в мой :contains
, он работает нормально. Я нажму sharksforcheap
, например, и он скроет все остальные users
, которые не относятся к этому.
$('.tweets').on('click', '.users', function(){
var user = $(this).data('users');
$('.tweet').not(':contains(sharksforcheap)').hide();
});
Тем не менее, я хочу сделать так, чтобы он работал для любого users
, на который я нажимаю, так как жесткое кодирование для каждого пользователя невозможно. Поэтому я создал переменную с именем user и сослался на нее this
, которая должна содержать данные моего users
. Однако это не работает.
$('.tweets').on('click', '.users', function(){
var user = $(this).data('users');
$('.tweet').not(':contains('+ user + ')').hide();
});
Я неправильно использую this
в этом контексте?