jquery .find获取<li>中的文本

Chr*_*ris 2 javascript jquery find

所以我有一系列2个嵌套的ul.当您单击li中的文本(位于标记中)时,我的页面会使其可编辑并添加保存按钮.单击保存按钮需要返回li中的新文本和li的id.id不是问题.我正在尝试使用jQuery的.find来选择那个锚标签(这是成功的),但我似乎无法从中获取文本.

这是第一个列表及其子列表的示例.

<ul class='lists'>
  <li class='list1'>
    <a class='a list' id='list1'> List 1 Name</a>
    <img id='savelist1id' onClick="SaveName(this.parentNode.id)" src='save.jpg'>
    <ul class='sublists'>
      <li class='sub1'>
        <a class='a sub' id='sub1id'> Sub 1 Name</a>
        <img id='savesub1id' onClick="SaveName(this.parentNode.id)" src='save.jpg'>
      </li>
      <li class='sub3'>
        <a class='a sub' id='sub2id'> Sub 2 Name</a>
        <img id='savesub2id' onClick="SaveName(this.parentNode.id)" src='save.jpg'>
      </li>
      <li class='sub2'>
        <a class='a sub' id='sub3id'> Sub 3 Name</a>
        <img id='savesub3id' onClick="SaveName(this.parentNode.id)" src='save.jpg'>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

这是用于标识您单击的保存按钮的代码.

function SaveName(parentid){
  $('li').find('a').each(function(){
    if (this.id == parentid){
      alert(this.id+' '+this.text)
      }
  }
});
Run Code Online (Sandbox Code Playgroud)

我想要this.text向我展示锚标签内的文字.请帮忙?

================================================== =========编辑:

请原谅这篇文章.问题是我使用Jeditable并且不知道它会用一个表单来代替文本,所以任何调用文本的东西都行不通.抱歉.

Phi*_*ert 6

只需使用$(this).text()而不是this.text

说实话,我不明白这个函数背后的逻辑,因为你的函数可能写成:

function SaveName(parentid) {
     alert($('li a#' + parentid).text();
  }
});
Run Code Online (Sandbox Code Playgroud)

或者我可以建议另一种方法来做你想要的事情:

<ul class='lists'>
  <li class='list1'>
    <a class='a list' id='list1'> List 1 Name</a>
    <img id='savelist1id' onClick="SaveName(this)" src='save.jpg'>
    <ul class='list1subs'>
      <li class='sub1'>
        <a class='a sub' id='sub1id'> Sub 1 Name</a>
        <img id='savesub1id' onClick="SaveName(this)" src='save.jpg'>
      </li>
      <li class='sub3'>
        <a class='a sub' id='sub2id'> Sub 2 Name</a>
        <img id='savesub2id' onClick="SaveName(this)" src='save.jpg'>
      </li>
      <li class='sub2'>
        <a class='a sub' id='sub3id'> Sub 3 Name</a>
        <img id='savesub3id' onClick="SaveName(this)" src='save.jpg'>
      </li>
    </ul>
  </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

function SaveName(element) {
   alert($(element).prev("a").text());
}
Run Code Online (Sandbox Code Playgroud)