2011-04-13 128 views
1

我有一个div,我通过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

这可能是因为你的a标签有没有内在的文本。试试这个:

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

要创建的元素,你只需要这样:

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

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

1

你需要做的:

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

为什么你不能看到你的链接的原因是因为没有文字那里看看!

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); 
1

<a>在默认情况下,当它不具有体完全坍塌内联元素。所以要么给它一个身体,例如一些您可以点击的文字,或将其样式设置为display:block;,以便它展开为父级的大小。

作为一个完全不同的选择,你也可以随便给<div>onclick功能,设置window.location到新的URL(伴随着cursor:pointer;风格)。

0

链接没有文字(innerHtml)。 这里是你如何能做到这一点:

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