嗨,我尝试从表中的跨度接收值,如下所示:
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();工作
首先,在调用函数时,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)