2011-04-13 152 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'));