Javascript 隐藏具有类的子级的父div
如果你知道怎么做的话,在一些可能不那么困难的事情上寻求帮助。不幸的是,我对Javascript 隐藏具有类的子级的父div,javascript,jquery,html,joomla,Javascript,Jquery,Html,Joomla,如果你知道怎么做的话,在一些可能不那么困难的事情上寻求帮助。不幸的是,我对jQuery/JavaScript一无所知,所以如果有人能给我指出正确的方向,那就太好了 我在一个Joomla网站上工作,该网站有一个第三方谷歌地图组件。很酷的组件,但我想隐藏一个特定的标签。通常我只是用CSS隐藏这个元素,但是由于这个特定的div没有任何“ID”或“Class”,我想我不能直接用CSS来定位它 我注意到我试图隐藏的div的子级确实有一个唯一的类,因此我正在寻找一个解决方案,通过使用子级的类名,我可以隐藏它
jQuery/JavaScript
一无所知,所以如果有人能给我指出正确的方向,那就太好了
我在一个Joomla网站上工作,该网站有一个第三方谷歌地图组件。很酷的组件,但我想隐藏一个特定的标签。通常我只是用CSS隐藏这个元素,但是由于这个特定的div没有任何“ID”或“Class”,我想我不能直接用CSS来定位它
我注意到我试图隐藏的div的子级确实有一个唯一的类,因此我正在寻找一个解决方案,通过使用子级的类名,我可以隐藏它的父级
我想这样的东西会起作用:
$('.gm-style-iw').parent().hide();
然而,由于我的知识有限,我很难确定它是否与我正在使用的jQuery代码有关,或者因为我只是把它放在了错误的地方,或者其他我做错了的事情。。。
(继续前进)
未捕获的TypeError:无法读取null的属性“parent”
))
有点背景。这或多或少就是代码的特定部分的样子
<div style="cursor: default; position: absolute; left: 234px; top: 86px; z-index: 86;">
<div class="gm-style-iw" style="top: 9px; position: absolute;">
我正在寻找一种方法来隐藏'div class=“gm style iw”上方的'div'
下面是谷歌地图组件的一个实例。
我基本上是想隐藏“文本气球”,它在打开页面时表示“Gabbon”。。。(在底部的地图中)
任何人都可以告诉我如何隐藏这个
非常感谢
未捕获的TypeError:无法读取null的属性“parent”
发生这种情况是因为jQuery函数使用短$sign
在您的情况下,您需要使用:
jQuery('.gm-style-iw').parent().hide();
有关更多详细信息,请参阅
在您的例子中,元素是在加载文档后创建的,因此您需要api来侦听新元素的可用性
感谢你能写:
<script>
jQuery('#map').on('DOMNodeInserted', '.gm-style-iw', function(e) {
jQuery('.gm-style-iw').parent().hide();
})
</script>
jQuery('#map').on('DOMNodeInserted','.gm风格的iw',函数(e){
jQuery('.gm-style-iw').parent().hide();
})
此外,提及或提及其他不同的方法是:
<script>
(function(win){
'use strict';
var listeners = [],
doc = win.document,
MutationObserver = win.MutationObserver || win.WebKitMutationObserver,
observer;
function ready(selector, fn){
// Store the selector and callback to be monitored
listeners.push({
selector: selector,
fn: fn
});
if(!observer){
// Watch for changes in the document
observer = new MutationObserver(check);
observer.observe(doc.documentElement, {
childList: true,
subtree: true
});
}
// Check if the element is currently in the DOM
check();
}
function check(){
// Check the DOM for elements matching a stored selector
for(var i = 0, len = listeners.length, listener, elements; i < len; i++){
listener = listeners[i];
// Query for elements matching the specified selector
elements = doc.querySelectorAll(listener.selector);
for(var j = 0, jLen = elements.length, element; j < jLen; j++){
element = elements[j];
// Make sure the callback isn't invoked with the
// same element more than once
if(!element.ready){
element.ready = true;
// Invoke the callback with the element
listener.fn.call(element, element);
}
}
}
}
// Expose `ready`
win.ready = ready;
})(this);
ready('.gm-style-iw', function(element) {
this.parentNode.style.display = 'none';
}) </script>
(功能(win){
"严格使用",;
var侦听器=[],
doc=win.document,
MutationObserver=win.MutationObserver | | win.webkit MutationObserver,
观察者
功能就绪(选择器,fn){
//存储要监视的选择器和回调
监听器推送({
选择器:选择器,
fn:fn
});
如果(!观察者){
//注意文档中的更改
观察者=新的变异观察者(检查);
观察者。观察者(doc.documentElement{
儿童名单:是的,
子树:真
});
}
//检查元素当前是否在DOM中
检查();
}
函数检查(){
//检查DOM中是否有与存储的选择器匹配的元素
for(var i=0,len=listeners.length,listener,elements;i
谢谢!这样,如果我在控制台中输入div,我确实可以删除它。令人惊叹的。。现在我需要弄清楚如何将其包含在组件中,因为我假设在元素加载到页面上之后需要加载它?我现在要玩这个,如果我知道如何做,我会在这里更新…)@digibeta的答案更新了,希望能对你有所帮助。让我知道谢谢!!!它就像一个符咒真的很感激你所做的一切。。我会仔细阅读你链接到的所有东西。我真的很想下次自己学怎么做。。。无论如何,再次感谢你!我真的很感激!