0
A
回答
0
使鏈接無處可去,如#,給他們一個ID,聽點擊thees與jQuery或使用的onclick HTML屬性,選擇區域並設置點擊鏈接文本:-)
2
假設以下加價風格:
<ul>
<li><a class="linkInsert" href="http://www.example.com/article/">Link (email & blogs)</a></li>
</ul>
<input id="linkText" />
然後你可以使用普通的JavaScript:
var links = document.getElementsByTagName('a'),
textInput = document.getElementById('linkText'),
linkInserts = [];
for (var i = 0, len = links.length; i < len; i++) {
if (links[i].className == 'linkInsert') {
linkInserts.push(links[i]);
}
}
for (var i = 0, len = linkInserts.length; i < len; i++) {
linkInserts[i].onclick = function(e) {
e.preventDefault();
textInput.value = this.parentNode.innerHTML;
};
}
或者,使用jQuery:
$('a.linkInsert').click(
function(e){
e.preventDefault();
$('#linkText').val($(this).parent().html());
});
變更上述HTML以下內容中,爲了避免在粘貼的HTML冗餘屬性,然後再將具有將它們過濾背出,所以現在靶向父li
元件:
<ul>
<li class="linkInsert"><a href="http://www.example.com/article/">Link (email & blogs)</a></li>
</ul>
<input id="linkText" />
jQuery的:
$('li.linkInsert a').click(
function(e){
e.preventDefault();
$('#linkText').val($(this).parent().html());
});
和平原JavaScript版本更新爲使用修訂後的HTML:
var listElems = document.getElementsByTagName('li'),
textInput = document.getElementById('linkText'),
linkInserts = [];
for (var i = 0, len = listElems.length; i < len; i++) {
if (listElems[i].className == 'linkInsert') {
linkInserts.push(listElems[0].getElementsByTagName('a')[0]);
}
}
for (var i = 0, len = linkInserts.length; i < len; i++) {
linkInserts[i].onclick = function(e) {
e.preventDefault();
textInput.value = this.parentNode.innerHTML;
};
}
,並用稍微向上的最新方法,具有addEventListener()
:
function showHTML(evt){
evt.preventDefault();
var textInput = document.getElementById('linkText'),
target = evt.target,
targetTag = target.tagName.toLowerCase();
if (targetTag == 'a'){
textInput.value = target.parentNode.innerHTML;
}
else if (targetTag == 'li'){
textInput.value = target.innerHTML;
}
}
document
.getElementsByTagName('ul')[0]
.addEventListener('click',function(evt) { showHTML(evt) },false);
最後,這似乎與古 '傳統' 的Internet Explorer兼容的版本(在IE 8測試,WINXP和IE 9中,Win7):
function showHTML(evt) {
var evt = evt || event;
if (evt.preventDefault){
evt.preventDefault();
}
else {
event.returnValue = false;
}
var textInput = document.getElementById('linkText'),
target = evt.target ? evt.target : evt.srcElement,
targetTag = target.tagName.toLowerCase();
if (targetTag == 'a') {
textInput.value = target.parentNode.innerHTML;
}
else if (targetTag == 'li') {
textInput.value = target.innerHTML;
}
}
if (window.addEventListener) {
document.getElementsByTagName('ul')[0].addEventListener('click', function(evt) {
showHTML(evt)
}, false);
}
else if (window.attachEvent) {
document.getElementsByTagName('ul')[0].attachEvent('onclick', showHTML);
}
參考文獻:
相關問題
- 1. 文本不更改鏈接
- 2. 更改鏈接文本
- 3. 更改Access中的超鏈接文本
- 4. 文本對話框中的鏈接獲得焦點更改
- 5. 更改超鏈接文本的大小
- 6. 從單獨的鏈接更改文本
- 7. html鏈接來更改文本框的值
- 8. Drupal的基礎上覆選框標誌,更改文本框中的文本作爲鏈接或普通文本
- 9. 使用文本框更新鏈接
- 10. 如何更改HTML文件的鏈接到本地鏈接
- 11. 文本框中的文本更改
- 12. 文本框中的文本更改
- 13. 更改ASP超鏈接文本圖像
- 14. 更改鏈接文本時使用
- 15. Javascript onclick鏈接文本更改
- 16. 用Scriptaculous更改鏈接文本?
- 17. 將文本更改爲超鏈接
- 18. 帶鏈接的文本框
- 19. 其他文本框文本更改時更改文本框的文本
- 20. 如何通過鏈接文本更改鏈接href
- 21. 使用javascript更改鏈接文本點擊鏈接
- 22. 更改中繼器中的鏈接按鈕的文本
- 23. 文本框更改
- 24. 更改文本框
- 25. 更改與活動鏈接文本的跨度文本
- 26. 文本框中的超鏈接
- 27. 更改此文本框的文本更改時文本框的背景顏色?
- 28. HTML鏈接到文本框
- 29. 如果鏈接處於活動狀態,如何更改鏈接中的文本?
- 30. 如何在鏈接中更改div中的文本,並在每次點擊鏈接時不斷更改
簡單的答案是使用jQuery來實現這一點。 – Lion 2012-07-08 21:02:23
「LINK HERE」是什麼意思,什麼是「鏈接類型」?當用戶點擊某個鏈接時,究竟應該在文本框中出現什麼內容?鏈接的URL(href值),或者鏈接到的頁面,或者什麼? – 2012-07-08 21:17:32