Вставьте ссылку Используя CSS

Вам просто нужно установить canvas на { display: block; }, так как это inline по умолчанию.

JSBin Snapshot

Также см. Здесь: Встроенные элементы | MDN

12
задан cllpse 3 October 2008 в 13:03
поделиться

5 ответов

Не способом, который будет работать через браузеры. Вы могли, однако, сделать это с некоторым относительно тривиальным JavaScript..

function makeCasesClickable(){
    var cells = document.getElementsByTagName('td')
    for (var i = 0, cell; cell = cells[i]; i++){
        if (cell.className != 'case') continue
        var caseId = cell.innerHTML
        cell.innerHTML = ''
        var link = document.createElement('a')
        link.href = 'http://bugs.example.com/fogbugz/default.php?' + caseId
        link.appendChild(document.createTextNode(caseId))
        cell.appendChild(link)
    }
}

Можно применить его с чем-то как onload = makeCasesClickable, или просто включайте его прямо в конце страницы.

12
ответ дан 2 December 2019 в 06:28
поделиться

вот решение jQuery, характерное для Вашего отправленного HTML:

$('.case').each(function() {
  var link = $(this).html();
  $(this).contents().wrap('<a href="example.com/script.php?id='+link+'"></a>');
});

в сущности, по каждому .case элементу, захватит содержание элемента и бросит их в ссылку, перенесенную это.

10
ответ дан 2 December 2019 в 06:28
поделиться

Не возможный с CSS, плюс это не то, что CSS для любого пути. Клиентский JavaScript или Серверная сторона (вставляют предпочтительный язык) являются способом пойти.

4
ответ дан 2 December 2019 в 06:28
поделиться

У Вас могло быть что-то вроде этого (использование JavaScript). Внутри <head>, иметь

<script type="text/javascript" language="javascript">
  function getElementsByClass (className) {
    var all = document.all ? document.all :
      document.getElementsByTagName('*');
    var elements = new Array();
    for (var i = 0; i < all.length; i++)
      if (all[i].className == className)
        elements[elements.length] = all[i];
    return elements;
  }

  function makeLinks(className, url) {
    nodes = getElementsByClass(className);
    for(var i = 0; i < nodes.length; i++) {
      node = nodes[i];
      text = node.innerHTML
      node.innerHTML = '<a href="' + url + text + '">' + text + '</a>';
    }
  }
</script>

И затем в конце <body>

<script type="text/javascript" language="javascript">
  makeLinks("case", "http://bugs.example.com/fogbugz/default.php?");
</script>

Я протестировал его, и это хорошо работает.

0
ответ дан 2 December 2019 в 06:28
поделиться

Я не думаю, что это возможно с CSS. CSS, как только предполагается, влияет на взгляды и расположение Вашего содержания.

Это походит на задание для Сценария PHP (или некоторый другой язык). Вы не дали достаточно информации для меня для знания лучшего способа сделать это, но возможно что-то вроде этого:

function case_link($id) {
    return '<a href="http://bugs.example.com/fogbuz/default.php?' . $id . '">' . $id . '</a>';
}

Затем позже в Вашем документе:

<table><tr><td class="case"><?php echo case_link('123456'); ?></td></tr></table>

И если Вы хотите .html файл, просто запускаете скрипт из командной строки и перенаправляете вывод в .html файл.

1
ответ дан 2 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: