Как настроить таргетинг на href на div

Здесь я пытаюсь открыть и получить содержимое одного div для таргетинга div на клик на href. Здесь у меня есть таблица, где у меня есть hrefs, у которого есть ссылка на div id, и у меня есть целевой div, который пуст.

когда я нажимаю ссылки href, связанное содержимое div должно открываться в целевом div.

для ex: для ссылки fea1 У меня есть ссылка id #m1, когда я нажимаю fea1, содержимое #m1 должно появиться в целевом div.

Как я могу это сделать?

вот мой код:

HTML:

<!DOCTYPE html>
<html>
  <head>
    <title>
      Example
      </title>
      <link rel="stylesheet" type="text/css" href="css/style.css" />
      </head>
      <body>

        <table border="0">
          <tr>
            <td>
              <hr>
              <a href="#m1">
                fea1
              </a>
              <br>
              <hr>
              <a href="#m2">
                fea2
              </a>
              <br>
              <hr>
              <a href="#m3">
                fea3
              </a>
              <br>
              <hr>
              <a href="#m4">
                fea4
              </a>
              <br>
              <hr>
              <a href="#m5">
                fea5
              </a>
              <br>
              <hr>
              <a href="#m6">
                fea6
              </a>
              <br>
              <hr>
              <a href="#m7">
                fea7
              </a>
              <br>
              <hr>
              <a href="#m8">
                fea8
              </a>
              <br>
              <hr>
              <a href="#m9">
                fea9
              </a>
              <hr>
            </td>
          </tr>
        </table>


        <div class="target">

        </div>


        <div id="m1">
          dasdasdasd
        </div>
        <div id="m2">
          dadasdasdasd
        </div>
        <div id="m3">
          sdasdasds
        </div>
        <div id="m4">
          dasdasdsad
        </div>
        <div id="m5">
          dasdasd
        </div>
        <div id="m6">
          asdasdad
        </div>
        <div id="m7">
          asdasda
        </div>
        <div id="m8">
          dasdasd
        </div>
        <div id="m9">
          dasdasdsgaswa
        </div>        
      </body>
</html>

CSS

a{
    text-decoration:none;
    color:black;
}

.target{
    width:50%;
    height:200px;
    border:solid black 1px; 
}

#m1, #m2, #m3, #m4, #m5, #m6, #m7, #m8, #m9{
    display:none;
}

Ответы

Ответ 1

Вы можете поместить все ваши #m1... #m9 divs в .target и отобразить их на основе идентификатора фрагмента (хэш) с помощью :target псевдо-класс. Он не перемещает содержимое между div, но я думаю, что эффект близок к тому, что вы хотели достичь.

Fiddle

HTML

<div class="target">
    <div id="m1">
        dasdasdasd m1
    </div>
    <!-- etc... -->
    <div id="m9">
        dasdasdsgaswa m9
    </div>   
</div>

CSS

.target {
    width:50%;
    height:200px;
    border:solid black 1px; 
}
.target > div {
    display:none;
}

.target > div:target{
    display:block;
}

Ответ 2

Из того, что я знаю, это будет невозможно только с помощью css. Вот решение, как вы могли бы заставить его работать с jQuery, который является библиотекой javascript. Подробнее о jquery здесь: http://jquery.com/

Вот рабочий пример: http://jsfiddle.net/uyDbL/

$(document).ready(function(){
    $('a').on('click',function(){
        var aID = $(this).attr('href');
        var elem = $(''+aID).html();

        $('.target').html(elem);
    });
});

Ответ 3

Поместите для div то же имя, что и в href target.

ex: <div name="link"> и <a href="#link">

Ответ 4

Попробуйте этот код в jquery

$(document).ready(function(){
  $("a").click(function(){
  var id=$(this).attr('href');
  var value=$(id).text();
  $(".target").text(value);
  });
});

Ответ 5

havent попытался, но это могло бы помочь

$(document).ready(function(){
r=0;s=-1;
$(a).click(function(){
v=$(this).html();
$(a).each(function(){
if($(this).html()==v)
return;
else ++r;
$(div).each(function(){
if(s==r)
$(div).appendTo($(".target")); 
++S;
});

});

});

});

Ответ 6

если вы используете

angularjs

вам нужно просто написать правильный css, чтобы сфотографировать div html-код

<div 
style="height:51px;width:111px;margin-left:203px;" 
ng-click="nextDetail()">
</div>


  Код JS (в вашем контроллере):

$scope.nextDetail = function()
{
....
}

Ответ 7

простой способ сделать это как

<a href="demo.html#divid">Demo</a>