我是初学者.我试图隐藏一个由第三方JavaScript动态添加到页面的div,用于审美目的.
问题是div没有id属性; 这有可能吗?div是否根据它们加载的顺序具有任何固有属性?或者有什么方法可以搜索一串文本并隐藏元素吗?
例如,<div>happy New year</div>根据其文本删除happy New year.
您可以先选择相关元素并迭代它们,直到找到所需内容.
在JQuery中,它可以像这样完成:
// select relevant elements
var elements = $('div');
// go through the elements and find the one with the value
elements.each(function(index, domElement) {
var $element = $(domElement);
// does the element have the text we're looking for?
if ($element.text() === "happy New year") {
$element.hide();
// hide the element with jQuery
return false;
// jump out of the each
}
});
Run Code Online (Sandbox Code Playgroud)
请注意,代码有点脆弱,完全取决于元素的内容.以下是相关的JQuery api文档:
$(...))jQuery.each() - 用于浏览jquery对象数组jQuery.text() - 获取值(浏览器之间在如何在普通javascript中执行此操作时存在小但明显的差异)jQuery.hide() - 用CSS样式隐藏元素 display: none请注意,您可以根据自己的选择更具体地说明您有以下代码:
<div class="message">
<div>happy New year<div>
</div>
Run Code Online (Sandbox Code Playgroud)
您可以选择以下元素:
var domElement = $('.message div')[0]; // hopefully it only happens once
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6801 次 |
| 最近记录: |