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的答案更新了,希望能对你有所帮助。让我知道谢谢!!!它就像一个符咒真的很感激你所做的一切。。我会仔细阅读你链接到的所有东西。我真的很想下次自己学怎么做。。。无论如何,再次感谢你!我真的很感激!