채택완료

php안에 <a>태그로 가두고 싶습니다.

2018-09-28 (금) 13:14:59 3,793

우선 클릭해주셔서 감사합니다.

초보라 아무리해도 안되네요.

<div class="sct_li_wr">

안에 <a>테그로 하위를 감싸고 싶은데요.

아래코드처럼 했더니 각각 div에 <a>태그가 다 생겨버려요;;;;

1938927375_1538108000.2042.png

 저렇게 각각 

<a class="ssss">
</a>

이렇게 생겨버립니다.

저는 이렇게 하고 싶어서요.

<li class="sct_li">

      <a class="ssss">

           <div class="sct_li_wr">

           </div>

      </a>

</li>

코드를 이렇게 썼는데 방법이 없을까요?

Copy
for ($i=0; $row=sql_fetch_array($result); $i++) {
    if ($i == 0) {
        if ($this->css) {
            echo "<ul id=\"sct_wrap\" class=\"{$this->css}\">\n";
        } else {
            echo "<ul id=\"sct_wrap\" class=\"sct sct_10\">\n";
        }
    }

    if($i % $this->list_mod == 0)
        $li_clear = ' sct_clear';
    else
        $li_clear = '';

    echo "<li class=\"sct_li\"><div class=\"sct_li_wr\">\n";
    echo "<a class=\"ssss\">\n";
    echo "<div class=\"img_wr\">";

    if ($this->href) {
        echo "<div class=\"sct_img\"><a href=\"{$this->href}{$row['it_id']}\" class=\"sct_a\">\n";
    }

    if ($this->view_it_img) {
        echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n";
    }

    if ($this->href) {
        echo "</a></div>\n";
    }

    echo "<div class=\"sct_btn\">
            <div class=\"sct_cart_btn\">
                <button type=\"button\" class=\"btn_cart\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">장바구니</span><i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i></button>
                <button type=\"button\" class=\"btn_wish\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">위시리스트</span><i class=\"fa fa-heart\" aria-hidden=\"true\"></i></button>
            </div>
        </div>\n";

    echo "</div>";

        echo "<div class=\"sct_cartop\"></div>\n";
    if ($this->href) {
        echo "<div class=\"sct_txt\"><a href=\"{$this->href}{$row['it_id']}\" class=\"sct_a\">\n";
    }


    if ($this->view_it_name) {
        echo stripslashes($row['it_name'])."\n";
    }
    if ($this->view_it_basic && $row['it_basic']) {
        echo "<div class=\"sct_basic\">".stripslashes($row['it_basic'])."</div>\n";
    }
    if ($this->href) {
        echo "</a></div>\n";
    }

    if ($this->view_it_price) {
        echo "<div class=\"sct_cost\">\n";
        echo display_price(get_price($row), $row['it_tel_inq'])."\n";
        echo "</div>\n";
    }

    echo "<div class=\"sct_icon_wr\">".item_icon2($row)."</div>\n";
    echo "</a>\n";
    echo "</div></li>\n";
}

날씨가 쌀쌀해지네요. 감기조심하시구요.

sir회원님덕분에 많은것을 배워 갑니다.

답변 2개 / 댓글 6개

채택된 답변
+20 포인트

출력 소스를 보시면 아시겠지만

작성자분이 감싸고자 하는 div안에 a태그가 이미 존재합니다

<a><a></a></a>는 성립할수없는 html구조입니다

그러기에 a태그 하나를 밀어버리는겁니다

다른 구조를 생각하셔야할것같습니다 아니면 div안에 a태그를 포기하시던가하셔야합니다

답변에 대한 댓글 5개

제가 출력 소스를 어떻게 흐르는지를 몰줄을 모릅니다 ㅠㅠ

저는
<li class="sct_li">
<a class="ssss">
<div class="sct_li_wr">
<div class="img_wr"></div>
<div class="sct_cartop"></div>
<div class="sct_txt"></div>
<div class="sct_cost"></div>
</div>
</a>
</li>

이렇게 되게끔 해보고 싶어서요.;;

php코드는 제가 이렇게 저렇게 해보려는 시도였습니다.
a테그안에 a테그를 쓰려고 한게 아니라서요

방법이 없을까요??
네 그러니깐

<div class="img_wr"></div> <div class="sct_txt"></div> 등등에 안에 a태그가 들어가있습니다
이걸 다빼셔도 되는거면 작성자분이 원하시는 a태그로 감싸시는게 가능하다는겁니다
답변 정말 감사합니다~!!

또하나 배워 갑니다!!!

항상 건강하시고 좋은일만 가득하시길 빕니다!!!
음? php와는 상관없구요 html에서 a태그 안에 a태그 쓰는 방식은 잘못된 방식입니다

html에서 오류를 출력하는거라서요

출력을 다시해보시면 ... html에서 그렇게 적어서 출력해보시면 <a class="ssss">를 밀어내는게 보이실껍니다

php문제가 아니에요
[code]
for ($i=0; $row=sql_fetch_array($result); $i++) {
if ($i == 0) {
if ($this->css) {
echo "<ul id=\"sct_wrap\" class=\"{$this->css}\">\n";
} else {
echo "<ul id=\"sct_wrap\" class=\"sct sct_10\">\n";
}
}

if($i % $this->list_mod == 0)
$li_clear = ' sct_clear';
else
$li_clear = '';

echo "<li class=\"sct_li\"><a href=\"{$this->href}{$row['it_id']}\" class=\"sct_a\"><div class=\"sct_li_wr\">\n";

echo "<div class=\"img_wr\">";

if ($this->href) {
echo "<div class=\"sct_img\">\n";
}

if ($this->view_it_img) {
echo get_it_image($row['it_id'], $this->img_width, $this->img_height, '', '', stripslashes($row['it_name']))."\n";
}

if ($this->href) {
echo "</div>\n";
}

echo "<div class=\"sct_btn\">
<div class=\"sct_cart_btn\">
<button type=\"button\" class=\"btn_cart\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">장바구니</span><i class=\"fa fa-shopping-cart\" aria-hidden=\"true\"></i></button>
<button type=\"button\" class=\"btn_wish\" data-it_id=\"{$row['it_id']}\"><span class=\"sound_only\">위시리스트</span><i class=\"fa fa-heart\" aria-hidden=\"true\"></i></button>
</div>
</div>\n";

echo "</div>";

echo "<div class=\"sct_cartop\"></div>\n";
if ($this->href) {
echo "<div class=\"sct_txt\">\n";
}


if ($this->view_it_name) {
echo stripslashes($row['it_name'])."\n";
}
if ($this->view_it_basic && $row['it_basic']) {
echo "<div class=\"sct_basic\">".stripslashes($row['it_basic'])."</div>\n";
}
if ($this->href) {
echo "</div>\n";
}

if ($this->view_it_price) {
echo "<div class=\"sct_cost\">\n";
echo display_price(get_price($row), $row['it_tel_inq'])."\n";
echo "</div>\n";
}

echo "<div class=\"sct_icon_wr\">".item_icon2($row)."</div>\n";

echo "</div></a></li>\n";
}
[/code]

이렇게 하니까 깔끔하게 정리 되었네요 ^^

기존에 a테그들을 지우고 맨 상위에만 뒀습니다.

정말 감사합니다!!!!

.sct_a 때문에 안감싸지는걸로 보입니다

a태그 안에 a태그는 기본적으로 사용이 어렵습니다

답변에 대한 댓글 1개

제가 말을 어렵게 썼나봐요 ㅠㅠ

저는
<li class="sct_li">
<a class="ssss">
<div class="sct_li_wr">
<div class="img_wr"></div>
<div class="sct_cartop"></div>
<div class="sct_txt"></div>
<div class="sct_cost"></div>
</div>
</a>
</li>

이렇게 되게끔 해보고 싶어서요.;;

php코드는 제가 이렇게 저렇게 해보려는 시도였습니다.
a테그안에 a테그를 쓰려고 한게 아니라서요

방법이 없을까요??

답변을 작성하려면 로그인이 필요합니다.