我有以下标记:获取下一个标签 - jQuery的
<button class="button" type="button"><span>Edit</span></button>
我想要改变下一个跨度值上.button click事件。
所以我有这样一个试验:
$('.button').click(function(){
$(this).next('span').val();
})
这将返回 '未定义' 但是。我如何选择跨度?
谢谢!
我有以下标记:获取下一个标签 - jQuery的
<button class="button" type="button"><span>Edit</span></button>
我想要改变下一个跨度值上.button click事件。
所以我有这样一个试验:
$('.button').click(function(){
$(this).next('span').val();
})
这将返回 '未定义' 但是。我如何选择跨度?
谢谢!
你需要修复两件事情。第一个next()
适用于兄弟元素。您的span
位于button
之内。所以把它改为儿童。接下来获得span
元素中你需要使用的.html()
$('.button').click(function(){
$(this).children('span').html();
})
编辑的值: 这里是一个jsFiddle
你想.text()或.html()取决于你想只是文本,或标记与它一起去。
编辑:
等待一秒钟,你的跨度是你的按钮内?有趣... 你可以使用$(this).text();
来获得文本。
这是否工作:
$('.button').click(function(){
$(this).children('span').html();
})
.val()
仅适用于表单元素,据我所知。使用.text()
或.html()
更改<span>
的文本
在你的例子中,span不是'next',它是一个子节点。你会使用下一个,如果你的HTML看起来是这样的:
<button class="button" type="button">Click me</button><span>Edit</span>
此外,要获得使用HTML文本(),(如比约恩提到)
'.VAL()'是不是在这里使用正确的方法。 –
@Drackir谢谢。我改变了它。 – jncraton