Javascript 单击后将a href值复制到文本框

Javascript 单击后将a href值复制到文本框,javascript,jquery,html,href,Javascript,Jquery,Html,Href,我正在尝试将链接onClick的值(显示的名称)复制到文本框。可能吗 以下是我草率地尝试让它发挥作用- <div class="service_list"> <ul style="list-style-type:square; display:none;" id="ullist"> <li><a href="#" class="service1">Service 1</a> </li>

我正在尝试将链接onClick的值(显示的名称)复制到文本框。可能吗

以下是我草率地尝试让它发挥作用-

<div class="service_list">
    <ul style="list-style-type:square; display:none;" id="ullist">
        <li><a href="#" class="service1">Service 1</a>

        </li>
        <li><a href="#" class="service2">Service 2</a>

        </li>
    </ul>
</div>
<input type="text" id="textbox" />
<br />
<table>
    <tr>
        <td>
            <div class="button">    <a href="#" download="servicename.txt" class="button" id="button">Download</a>

            </div>
        </td>
        <td>
            <div class="list">  <a href="#" class="list" id="list">List of Services</a>

            </div>
        </td>
    </tr>
</table>
以下是相同的JSFIDLE:

您可以向
#ullist
元素中的每个链接添加一个单击处理程序,然后设置文本框的值

var text = document.getElementById('textbox');
var anchor = document.querySelector('#button');

var links = document.querySelectorAll('#ullist a');
for(var  i = 0;i< links.length;i++){
    links[i].onclick = function(){
        text.value = this.textContent || this.innerText
    }
}

演示:

您可以向
#ullist
元素中的每个链接添加一个单击处理程序,然后设置文本框的值

var text = document.getElementById('textbox');
var anchor = document.querySelector('#button');

var links = document.querySelectorAll('#ullist a');
for(var  i = 0;i< links.length;i++){
    links[i].onclick = function(){
        text.value = this.textContent || this.innerText
    }
}

演示:

如果您愿意涉猎一点jquery,请在页面加载时使用这样的点击触发器:

$('a')。单击(函数(){
$('#textbox').val($(this.html());
})



如果您愿意涉猎一点jquery,请在页面加载时使用如下点击触发器:

$('a')。单击(函数(){
$('#textbox').val($(this.html());
})



由于JQuery被标记,这可以简单地用JQuery完成

$(文档)。在('click','a',函数(e){
e、 预防默认值();
//e=$(this.attr('href');//这将获取href
e=$(this).text();//这将获取文本
$('input').val(e);
});

谷歌
嘘声
涂鸦
库克尔

Roorle
由于JQuery被标记,这可以简单地用JQuery完成

$(文档)。在('click','a',函数(e){
e、 预防默认值();
//e=$(this.attr('href');//这将获取href
e=$(this).text();//这将获取文本
$('input').val(e);
});

谷歌
嘘声
涂鸦
库克尔

Roorle
您也可以使用live jquery单击此项

$(document).on('click','.service1,.service2',function(){
    $("#textbox").val($(this).html());
});

您还可以使用livejqueryclick进行此操作

$(document).on('click','.service1,.service2',function(){
    $("#textbox").val($(this).html());
});


请更正您的代码,service_list是一个类而不是id,您使用的是#service_list而不是。service_list感谢您指出这一点。我会马上修复它。检查这个为什么你在这个问题上标记了jQuery,你似乎在使用DOM?那是因为我也对jQuery解决方案持开放态度更正你的代码,服务列表是一个类而不是id,你使用的是#服务列表而不是。服务列表谢谢你指出这一点。我会马上修复它。检查这个为什么你在这个问题上标记了jQuery,你似乎在使用DOM?这是因为我也接受jQuery解决方案var select=document.querySelector('a#list');我认为这应该是var select=document.querySelector(“#list”);var select=document.querySelector('a#list');我认为这应该是var select=document.querySelector(“#list”);实际上,这复制了URL,我只想要链接显示的值。@AishwaryaL然后您需要修改您的问题-此答案是您所问问题的正确答案。我确实在问题中写了(显示的名称)。也许我提出的问题有点模棱两可。添加代码以获取
标记中的值,并留下代码以获取href作为注释!我认为@gnack指的是问题本身:*点击后将a href值复制到文本框*实际上这复制了URL,我只想要链接显示的值。@AishwaryaL然后你需要修改你的问题-这个答案是你问的问题的正确答案。我在问题中写了(显示的名称)。也许我提出的问题有点模棱两可。添加代码以获取
标记中的值,并留下代码以获取href作为注释!我认为@gnack指的是问题本身:*单击后将a href值复制到文本框中*