Я видел похожие вопросы, но они на более простой стороне: если div содержит определенный текст, тогда скройте его. Что работает.Скрытие div по определенному тексту в HREF
В моем случае у меня более сложная структура, динамически меняющаяся. Это может быть несколько div в пределах div с некоторым javascript в миксе.
В приведенном ниже примере, мне нужно, чтобы скрыть DIV (или применить класс с шкурой к ней), если какой-либо из элементов имеет HREF с определенным ID в нем: «?id=my-text
»
<div **id="top-div"**>
<div>
<script type="text/javascript">
some java script code here...
</script>
<a target="_blank" href="some_very_long_url_that_contains_an_id_im_looking_for?id=my-text&bunch_of_other_parameters" width="300" height="250" border="0" alt="" style=" _width:298px; _height:248px; _overflow:hidden; border:1px solid #000000;margin:-1px;"></a>
<script>
some java script code here...
</script>
</div>
</div>
I попытался следующие, но без удачи:
$.expr[":"].containsNoCase = function(el, i, m) {
var search = m[3];
if (!search) return false;
var pattern = new RegExp(search,"i");
return pattern.test($(el).text());
};
$(document).ready(function() {
$("div a:containsNoCase('?id=my-text')").parent('div').hide();
});
EDIT: Одна вещь, которую я пропустил, это то, что идентификатор самого верхнего div, который мне нужно скрыть, является статическим: «top-div». И я бы хотел использовать текстовую логику только для div в «top-div», а не для всей страницы.
'неперехваченным SyntaxError: Недопустимое регулярное выражение:/ID = мой-текст /: Ничего не repeat' – isherwood
Вы, вероятно, не хотите включать вопросительный знак в свой поиск строки запроса. Возможно, ваши параметры не всегда будут в одном порядке. – isherwood
Я не понимаю, почему вы не используете: '$ (" a [href * = '? Id = my-text'] "). Parent ('div'). hide(); '??? –