簡體   English   中英

如何在div標簽周圍包裹標簽?

[英]How do I wrap an a tag around a div tag?

我正在修改WordPress主題,並且具有以下代碼:

// Product link
$product_link_atts = ' href="' . esc_url( get_permalink() ) . '"';

<a<?php echo $product_link_atts; ?>><!-- Begin my a tag -->
    <div class="nm-shop-loop-details">
        <?php if ( $nm_globals['wishlist_enabled'] ) : ?>
        <div class="nm-shop-loop-wishlist-button"><?php nm_wishlist_button(); ?></div>
        <?php endif; ?>

        <h3><a<?php echo $product_link_atts; ?>><?php the_title(); ?></a></h3>
        <?php 
            /**
             * Hook: woocommerce_shop_loop_item_title.
             */
            do_action( 'woocommerce_shop_loop_item_title' );
        ?>

        <div class="nm-shop-loop-after-title <?php echo esc_attr( $nm_theme_options['product_action_link'] ); ?>">
            <div class="nm-shop-loop-price">
                <?php
                    /**
                     * Hook: woocommerce_after_shop_loop_item_title.
                     *
                     * @hooked woocommerce_template_loop_price - 10
                     */
                    do_action( 'woocommerce_after_shop_loop_item_title' );
                ?>
            </div>

            <div class="nm-shop-loop-actions">
                <?php
                    if ( $quickview_enabled ) {
                        echo apply_filters( 'nm_product_quickview_link', '<a' . $quickview_link_atts . '>' . esc_html__( 'Show more', 'nm-framework' ) . '</a>' );
                    }

                    /**
                     * Hook: woocommerce_after_shop_loop_item.
                     *
                     * @hooked woocommerce_template_loop_add_to_cart - 10
                     */
                    do_action( 'woocommerce_after_shop_loop_item' );
                ?>
            </div>
        </div>
    </div>
</a><!-- Close my a tag -->

我正在嘗試在這段代碼周圍包裝一個標簽(從第4行開始)。

<a<?php echo $product_link_atts; ?>><!-- Begin my a tag -->

但是以某種方式編譯標簽時,標簽會損壞。

通過Chrome檢查時的外觀如下: 問題

如您所見,a元素在將其自身環繞div之前已關閉。 我已經做過一些研究,並且我讀到,自HTML5以來,可以將元素包裝在div元素周圍。

我不太確定自己在這里缺少什么,是只是錯過了一些愚蠢的事情,還是我實際上是在嘗試做一些不起作用的事情。

HTML禁止在其他錨標記內嵌套錨標記。

這就是為什么您將無法執行此操作的原因,這就是為什么它在發生之前會自行關閉的原因。

為什么嵌套的錨標簽是非法的?

我們需要查看一些php值的輸出,以更好地了解html的實際外觀。 如果您可以截取源代碼(ctrl + U)的屏幕快照,它將比chrome解釋的要有用。

但是,我注意到您在另一個元素內有一個錨元素。

避免這樣做。

https://www.w3.org/TR/2011/WD-html5-20110525/text-level-semantics.html#the-a-element

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM