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. 更改Access中的超链接文本
- 3. 从单独的链接更改文本
- 4. 更改超链接文本的大小
- 5. html链接来更改文本框的值
- 6. Drupal的基础上复选框标志,更改文本框中的文本作为链接或普通文本
- 7. 更改链接文本时使用
- 8. 将文本更改为超链接
- 9. 用Scriptaculous更改链接文本?
- 10. 更改ASP超链接文本图像
- 11. 文本框中的文本更改
- 12. 文本框中的文本更改
- 13. 带链接的文本框
- 14. 如何通过链接文本更改链接href
- 15. 更改与活动链接文本的跨度文本
- 16. HTML链接到文本框
- 17. 如果链接处于活动状态,如何更改链接中的文本?
- 18. 更改文本框的borderColor
- 19. 如何更改所有链接到div标签中的文本
- 20. 更改UITextView中链接的显示文本
- 21. 如何更改Wicket中的链接文本?
- 22. 当文本框失去焦点时,将文本框更改为文本框的值,然后再单击链接时再次更改
- 23. 更改文本框中的值问题
- 24. 如何更改BITLY链接的链接
- 25. 文本框更改事件
- 26. 更改文本框值
- 27. 更改MDL-文本框
- 28. 文本框值已更改
- 29. 在TTTAttributedLabel中更改链接文本大小
- 30. 更改文档加载的url链接
简单的答案是使用jQuery来实现这一点。 – Lion 2012-07-08 21:02:23
“LINK HERE”是什么意思,什么是“链接类型”?当用户点击某个链接时,究竟应该在文本框中出现什么内容?链接的URL(href值),或者链接到的页面,或者什么? – 2012-07-08 21:17:32