Javascript 如何在jquery中动态设置元素的文本

Javascript 如何在jquery中动态设置元素的文本,javascript,jquery,Javascript,Jquery,我有一个onclick函数,它在元素上发生单击事件时调用changeName函数 function changeName() { var frag = $('<a href="#0"><span class="Name">change me</span></a>'); $( ".list" ).prepend(frag); var x =[]; $('.ch-gname').each(function(ind

我有一个onclick函数,它在元素上发生单击事件时调用
changeName
函数

    function changeName() {
    var frag = $('<a href="#0"><span class="Name">change me</span></a>');
    $( ".list" ).prepend(frag);
    var x =[];
    $('.ch-gname').each(function(index, obj)
    {
     x.push($(this).text());
      for(i=0; i<x.length; i++) {
       $('.Name').text(x[i]);}}});
       $('#action').on('click', changeName);
函数changeName(){
var frag=$('');
$(“.list”).prepend(frag);
var x=[];
$('.ch gname')。每个(函数(索引,obj)
{
x、 推送($(this.text());
对于(i=0;i函数changeName()有
$('#action')。在('click',changeName);
上,但我没有看到任何id为'action'的元素。无论如何,我已经进行了必要的更改以使其工作

  • 向元素添加了操作id
  • $('.Name').text(x[i]);
    更改为
    $('.Name')[i]。innerHTML=x[i];
  • 看看下面的例子

    函数changeName(){
    var frag=$('');
    $(“.list”).prepend(frag);
    var x=[];
    $('.ch gname')。每个(函数(索引,obj){
    x、 推送($(this.text());
    });
    对于(i=0;i
    
    
    什么是
    List
    ?请参见。您可以更改它以演示您的问题;现在它在迭代中以“List is undefined”触发尝试使用$(obj)。text()而不是$(this)。text()具有相同的效果…我希望能够在数组@abudhayy中输出不同的字符串。您必须在推到数组后关闭每个迭代。
          <div>
           <a href="#0" class="cb-pgcar"</a>
            <span class="ch-gname">Greenhouse</span>
            </div>
          <div>
           <a href="#0" class="cb-pgcar"</a>
            <span class="ch-gname">tree house</span>
            </div>
           <div>
           <a href="#0" class="cb-pgcar"</a>
            <span class="ch-gname">light house</span>
            </div>
             <div class="list">
             </div>
             <div class="list">
             </div>
             <div class="list">
             </div>