如何从 r.fn.init(JQuery 选择器上下文)获取值

Adr*_*ano 6 javascript jquery

嗨,我尝试从表中的跨度接收值,如下所示:

function getValueFromSibling(this) {
    var id = $(this).parent().siblings('span.childSibbling');
}
Run Code Online (Sandbox Code Playgroud)

表看起来像这样:

<tr>
    <td>
      <button type="button" onClick="getValueFromSibling()"></button>
    </td>
    <td>
      <span class="childSibbling">100</span>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

但我收到这样的东西:

id = r.fn.init [prevObject: r.fn.init(1)]

我发现这是简单的形式:

var jQuery = function( selector, context ){
   return new jQuery.fn.init( selector, context );
};
Run Code Online (Sandbox Code Playgroud)

那么问题来了。如何接收InnerHTML<span>,或如何转换r.fn.init [prevObject: r.fn.init(1)]价值?

var result = id.val();和 var 结果 = 不id.get();工作

bip*_*pen 5

首先,在调用函数时,this您的函数getValueFromSibling在窗口范围内传递this上下文

 onClick="getValueFromSibling(this)"
Run Code Online (Sandbox Code Playgroud)

并且缺少一些东西,例如text()获取您想要的文本。试试下面的一个

更好的方法(实际上是推荐的方法):

html

<tr>
    <td>
      <button type="button" class="some-button"></button>
    </td>
    <td>
      <span class="sibbling">100</span>
    </td>
</tr>
Run Code Online (Sandbox Code Playgroud)

查询

$(function(){
  $('.some-button').click(function(){
      var id = $(this).closest('tr').find('.sibbling').text();
          // .closest() gets the closest tr parent .
          // .find() finds the element with class 'sibbling' inside that `tr`
          // .text() gets the text inside the element.
  });
});
Run Code Online (Sandbox Code Playgroud)


Kwu*_*ung 4

您应该能够通过使用获取文本值

$("selector").text();
Run Code Online (Sandbox Code Playgroud)