@yield阻止我收获DOM

时间:2018-09-23 19:59:54

标签: javascript php jquery laravel

因此,我有标准的app.blade.php文件和home.blade.php文件,该应用程序具有Laravel功能中的@yield构建,但是问题是当我尝试选择并呈现事件侦听器时,它没有没用,但是当我通过应用程序执行时,它会起作用。

首页-

<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p>

<script>
    $( "p" ).click(function() {
        $( this ).slideUp();
    });
</script>

不起作用

app-

 <main class="py-4">
        @yield('content')
    </main>
</div>

<p>First Paragraph</p>
<p>Second Paragraph</p>
<p>Yet one more Paragraph</p>
<script>
    $( "p" ).click(function() {
        console.log(123);
    });
</script>

有效!...

2 个答案:

答案 0 :(得分:0)

您可能正在尝试在DOM未准备好时操纵节点。

确保将代码包装起来

$( document ).ready(function(){})

这将告诉DOM仅在DOM完全加载后才执行.ready(function(){})内部的内容。

答案 1 :(得分:0)

您是否扩展了home.blade.php的主模板?

@yield('content')

大多数@yield放置在放置所有js和css的主模板中。 您可以编辑并放置app.blade和home.blade的所有代码,以便我们进行检查吗。