将div转换为链接

时间:2011-04-13 19:24:34

标签: javascript jquery html

我有一个通过javascript创建的div。在那个div我创建一个链接。这就是我创建div和链接的方式:

    $('#info').find('#link').text("View");
    //Creates a new link
    var eventLink1 = document.createElement('a');
    //Sets link attribute
    eventLink1.setAttribute('href', 'Default.aspx?Title=' + responseArray[3].toString() );
    //Adds link to div
    $('#link').empty();
    $('#info').find('#link').append(eventLink1);

当我测试程序时,我发现我可以看到div中的链接(通过调试器),但我无法点击它(看起来好像设置为display: none但是没有css支持那个。

如何编辑代码以便链接可点击?

6 个答案:

答案 0 :(得分:1)

你需要这样做:

eventLink1.appendChild(document.createTextNode('YOUR LINK TEXT HERE'));

您无法看到链接的原因是因为没有文字可供查看!

答案 1 :(得分:1)

看起来链接没有文本组件。

<a href="#">Text here is missing</a>

由于你使用的是jQuery,我建议你这样做:

var eventLink1 = $('<a></a>')
    .attr('href', 'Default.aspx?Title=' + responseArray[3].toString())
    .text('something here (yours is missing)');
$('#link').empty().append(eventLink1);

答案 2 :(得分:1)

默认情况下,<a>是一个内联元素,当它没有正文时会完全折叠。所以要么给它一个身体,例如一些文本,您可以单击,或将其样式设置为display:block;,以便它扩展为父级的大小。

作为完全不同的替代方案,您还可以只使用<div> onclick函数将window.location设置为新网址(以及cursor:pointer;的样式)。

答案 3 :(得分:0)

要创建元素,您只需要:

$('#link').append('<a href="Default.aspx?Title=' + responseArray[3].toString() +'">Link</a>');

注意:没有display: hidden这样的东西。此外,您不需要使用.find('#link'),因为id属性在页面上应该是唯一的。您只需要$('#link')

答案 4 :(得分:0)

该链接没有文本(innerHtml)。 这是你如何做到的:

$('#link').empty().append($('<a/>',{'href','Default.aspx?Title=' + responseArray[3].toString()}).html('this is the link') );

答案 5 :(得分:0)

这可能是因为您的a标记没有内部文字。试试这个:

var eventLink1 = $('<a>Your link text</a>').attr('href', 'Default.aspx?Title=' + responseArray[3].toString())