Javascript 如何使按钮更改附近元素中的文本?
目前,我有一个脚本,可以使用jQuery在页面上以编程方式创建许多面板(是的,Twitter引导面板)。它们基本上都是一样的,只是在每一个里面都有一些动态文本,文本下面有一个按钮。有点像这样:Javascript 如何使按钮更改附近元素中的文本?,javascript,jquery,twitter-bootstrap,dom,frontend,Javascript,Jquery,Twitter Bootstrap,Dom,Frontend,目前,我有一个脚本,可以使用jQuery在页面上以编程方式创建许多面板(是的,Twitter引导面板)。它们基本上都是一样的,只是在每一个里面都有一些动态文本,文本下面有一个按钮。有点像这样: <div class="panel panel-default" id="panel1"> <div class="panel-body">There's some dynamically-generated text here.</div> <d
<div class="panel panel-default" id="panel1">
<div class="panel-body">There's some dynamically-generated text here.</div>
<div class="panel-footer">
<button class="btn btn-default btn-block">Click Here</button>
</div>
</div>
我知道这会奏效:
$("#panel1 .panel-body").text(updateContent())
因此,我尝试在构建ID的同一个循环中动态构建该选择器,但由于所有单引号、双引号和加号,我无法让javascript正确解析该行
我确信解决方案很简单,但我的眼睛交叉,看不清它。假设
这是您的按钮元素,然后再试一次
$(this).closest('.panel').find('.panel-body').text("foobar")
使用closest()
的优点是,您可以将按钮嵌套到任意深度,而无需更改处理程序
$(函数(){
$('.panel.btn')。单击(函数(){
$(this).closest('.panel').find('.panel body').text('foobar');
})
});代码>
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
假设这是您的按钮元素,然后重试
$(this).closest('.panel').find('.panel-body').text("foobar")
使用closest()
的优点是,您可以将按钮嵌套到任意深度,而无需更改处理程序
$(函数(){
$('.panel.btn')。单击(函数(){
$(this).closest('.panel').find('.panel body').text('foobar');
})
});代码>
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
假设这是您的按钮元素,然后重试
$(this).closest('.panel').find('.panel-body').text("foobar")
使用closest()
的优点是,您可以将按钮嵌套到任意深度,而无需更改处理程序
$(函数(){
$('.panel.btn')。单击(函数(){
$(this).closest('.panel').find('.panel body').text('foobar');
})
});代码>
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
假设这是您的按钮元素,然后重试
$(this).closest('.panel').find('.panel-body').text("foobar")
使用closest()
的优点是,您可以将按钮嵌套到任意深度,而无需更改处理程序
$(函数(){
$('.panel.btn')。单击(函数(){
$(this).closest('.panel').find('.panel body').text('foobar');
})
});代码>
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
这里有一些动态生成的文本。
点击这里
试试这个
$(this).parent().prev().html("updated content");
试试这个
$(this).parent().prev().html("updated content");
试试这个
$(this).parent().prev().html("updated content");
试试这个
$(this).parent().prev().html("updated content");
您非常接近,而不是直接使用此
,您需要首先使用最接近的
找到父面板:
$(".panel-body", $(this).closest('div.panel')).text(updateContent())
您非常接近,而不是直接使用此
,您需要首先使用最接近的
找到父面板:
$(".panel-body", $(this).closest('div.panel')).text(updateContent())
您非常接近,而不是直接使用此
,您需要首先使用最接近的
找到父面板:
$(".panel-body", $(this).closest('div.panel')).text(updateContent())
您非常接近,而不是直接使用此
,您需要首先使用最接近的
找到父面板:
$(".panel-body", $(this).closest('div.panel')).text(updateContent())
我怎么忘记了.prev()#noobmistakegahhhhhhhhh我怎么会忘记.prev()#noobmistakegahhhhhhhhh我怎么会忘记.prev()#noobmistakegahhhhhhhhh我怎么会忘记.prev()#努比木桩