Javascript 如何选择和隐藏包含文本的类
我的html如下所示:Javascript 如何选择和隐藏包含文本的类,javascript,Javascript,我的html如下所示: <div class="row">Something</div> <div class="row">Text</div> <div class="row">Something</div> 什么 正文 某物 我不能触摸DOM,所以类将始终是“行” 实际代码: <div class="row"> <label class="ag label" for="firstname" opt-
<div class="row">Something</div>
<div class="row">Text</div>
<div class="row">Something</div>
什么
正文
某物
我不能触摸DOM,所以类将始终是“行”
实际代码:
<div class="row">
<label class="ag label" for="firstname" opt-for="firstname-input" opt-char-limit="null">First Name</label>
<input class="ad"=""="" type="text" name="firstname" id="firstname" placeholder="">
</div>
<div class="row">
<label class="ag label" for="lastname" opt-for="lastname-input" opt-char-limit="null">HideThisField</label>
<input class="ad"=""="" type="text" name="lastname" id="lastname" placeholder="">
</div>
<div class="row">
<label class="ag label" for="email" opt-for="email-input" opt-char-limit="null">Email</label>
<input class="ad" required="" type="email" name="email" id="email" placeholder="">
</div>
名字
希德希斯菲尔德
电子邮件
我需要将包含“Text”的div设置为display:none。在Javascript中
此外,我将有多个“文本”隐藏自己的行
不知道从哪里开始,谢谢你的帮助 首先,不能有多个元素具有相同的ID 您应该改用类 例如:
var elems=document.getElementsByClassName('row');
对于(变量i=0;i
什么
某物
正文
带有多个ID的HTML无效。如果你真的不能改变DOM,那你的日子就不好过了 如果您不能,以下是您的一些选择: 使用jQuery.contains选择器检查文本内容: 如果不能做到这一点,您将不得不使用选择器的组合,如所有输入与某某类的组合,并向上导航到外部div等:jQuery有许多选择器:您可以尝试使用:
var divs = document.querySelectorAll(".row");
Array.from(divs, div => {
if (div.textContent.indexOf("text") >= 0) {
div.style.display = "none";
}
});
此外,还必须用类行替换所有id行(因为页面上不能有相同的id)
Best在HTML中,在一个文档中有多个相同的id值是无效的。这真的是您正在使用的HTML吗?“Something”是a和an。请发布一个你正在使用的HTML的真实例子。“这不重要,但“某物”是a和a”,这绝对重要。“每个标签/输入都有相同的唯一ID.”,注意到这句话中有什么奇怪的地方吗?两个东西不能有相同的唯一ID,否则它不是唯一的。这是什么?:)想象一个人和你的社会身份证号码相同。那会是个问题,对吗?了解类。
最近的
是一种jQuery方法。您还没有用jQuery标记它。你也应该展示你的尝试。有关更多信息,请参阅。为什么中断
?OP说“我不能触摸DOM,所以id将始终为“行”&中断只是性能问题。当你发现ocurrence“而且我会有多个”文本“来隐藏自己的行”时,你就停止查看了,这个中断会使它出错。@VitaliyTerziev jQuery没有标记。