我有一个通过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支持那个。
如何编辑代码以便链接可点击?
答案 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())