[Vuejs]-Unable to append html element to the parent in Vue js directive

0👍

You should probably use the inserted hook instead of bind if you want to access the parent element.

You can get the parent element via el.parentElement.

0👍

You probably should use vnode, and Vue nextTick.

import Vue from 'vue';

Vue.directive('customDirective',{
    bind(el,binding,vnode){
        Vue.bextTick(() => {
            let parent = vnode.elm.parentElement;
        });
    }
})

If you want to use parent() which is the jQuery function, you must get the element by jQuery.

Vue.directive('customDirective',{
    bind(el,binding,vnode){
        Vue.bextTick(() => {
            let id = vnode.elm.id;
            let parent = jQuery('#'+id).parent();
        });
    }
})

I’m not sure, that second code works, but it will be something like that.

Leave a comment