【问题标题】:How to access Span text of button in JQuery如何在 JQuery 中访问按钮的 Span 文本
【发布时间】:2015-07-25 04:21:54
【问题描述】:

我有一个元素,检查时显示:

<button type="button" class="siebui-ctrl-btn siebui-icon-editresponse s_1_1_126_0 appletButton" id="s_1_1_126_0_Ctrl" name="s_1_1_126_0" data-display="Edit Response" tabindex="0" title="Request: Main Menu:Edit Response" aria-label="Request: Main Menu:Edit Response" data-seq="0">
    <span>Edit Response</span>
</button>

我希望能够通过 jQuery 将跨度文本更新为“响应”。

我尝试了几种不同的方法,例如:

$('#s_1_1_126_0_Ctrl span').text("Respond");

$(".siebui-ctrl-btn.siebui-icon-editresponse.s_1_1_126_0.appletButton").text("Respond");

我在这里错过了什么?

【问题讨论】:

  • 你能正确关闭你的按钮标签并检查一下还是错字吗?
  • 代码运行时按钮是否存在? alert($('#s_1_1_126_0_Ctrl').length) 也尝试在浏览器控制台中运行该代码,看看会发生什么
  • 当我正确启动/关闭标签时,代码不会出现在我的问题中。它只显示文本“编辑响应”。当代码运行时,按钮就在那里。
  • 对我来说很好:jsfiddle.net/c92arL7a
  • 是的。它工作正常。你能重新检查你的代码吗?总是尝试得到一个 jsfiddle。你想什么时候更新你的文字?

标签: jquery html css siebel


【解决方案1】:
<button type="button" class="siebui-ctrl-btn siebui-icon-editresponse s_1_1_126_0 appletButton" id="s_1_1_126_0_Ctrl" name="s_1_1_126_0" data-display="Edit Response" tabindex="0" title="Request: Main Menu:Edit Response" aria-label="Request: Main Menu:Edit Response" data-seq="0">Edit Response</button>

JQUERY

$('#s_1_1_126_0_Ctrl').click(function(){
    $('#s_1_1_126_0_Ctrl').text("Respond");
});

【讨论】:

    【解决方案2】:

    您可以在按钮内添加一个跨度,以便使用您发布的示例。由于没有向页面呈现跨度,因此 JQuery 将无法识别 {ID} 跨度引用。

    <button><span id="myid">Edit Respond</span></button>
    
    $('#myid').text("Respond");
    

    【讨论】:

      【解决方案3】:

      $('#s_1_1_126_0_Ctrl span') 不是在寻找小时候的跨度。

      所以改成这个;

      $('#s_1_1_126_0_Ctrl &gt; span') 会发现 span 作为按钮的子元素

      $(document).ready(function () {
           $('#s_1_1_126_0_Ctrl > span').text("Respond");
      });
      

      【讨论】:

      • 声明不准确,有点误导。您的选择器所做的只是更具体地只寻找孩子。 OP 版本将在该元素中找到任何跨度
      • 我为误导性的措辞道歉。第一个示例应该有效。但在某些应用程序中,它会选择错误的跨度并尝试更改该文本。因此,如果您更具体,则更有可能看到您想要的回复。
      【解决方案4】:

      首先,这不好,因为没有跨度:

      $('#s_1_1_126_0_Ctrl span')
      

      应该是:

      $('#s_1_1_126_0_Ctrl')
      

      试试看。

      【讨论】:

      • 你可能想仔细看看 html...肯定有一个跨度
      • 对;我回答时格式不正确。
      猜你喜欢
      • 1970-01-01
      • 2016-07-24
      • 1970-01-01
      • 1970-01-01
      • 2015-04-19
      • 2013-02-16
      • 2011-07-31
      • 2013-04-15
      相关资源
      最近更新 更多