我试图在单击按钮时获取跨度的内容.这是html:
<div class="multiple-result">
<button class="select-location" id="168">Select</button>
<span>Athens, Greece</span>
</div>
<div class="multiple-result">
<button class="select-location" id="102">Select</button>
<span>Athens, Georgia, USA</span>
</div>
Run Code Online (Sandbox Code Playgroud)
我试图得到它,以便当单击按钮时它将获得跨度的值.这就是我正在使用的:
$('button.select-location').live('click', function(event){
// set the span value
var span_val = $(this).parent("span").html();
alert('selecting...' + span_val);
});
Run Code Online (Sandbox Code Playgroud)
但警报始终显示:选择... null
gil*_*ly3 46
您想先获取父级,然后找到范围:
var span_val = $(this).parent().find("> span").html();
Run Code Online (Sandbox Code Playgroud)
编辑: 还回去看看代码,你写了2年前和叹息,"为什么我做那?".上面的代码很尴尬.而不是.find("> span")
,我应该使用.children("span")
.
var span_val = $(this).parent().children("span").html();
Run Code Online (Sandbox Code Playgroud)
但是,你父母的孩子是什么?一个兄弟姐妹!所以,.parent().children("span")
我应该使用,而不是.siblings("span")
.
var span_val = $(this).siblings("span").html();
Run Code Online (Sandbox Code Playgroud)
但是,看看HTML,我们甚至不需要挖掘兄弟姐妹,我们知道它是下一个兄弟姐妹:
var span_val = $(this).next("span").html();
Run Code Online (Sandbox Code Playgroud)
要不就:
var span_val = $(this).next().html();
Run Code Online (Sandbox Code Playgroud)
到目前为止,我们几乎没有使用jQuery.我们可以说:
var span_val = this.nextSibling.innerHTML;
Run Code Online (Sandbox Code Playgroud)
但是,也许现在我把钟摆摆得太远了?
归档时间: |
|
查看次数: |
33656 次 |
最近记录: |