Jquery 使用“单击”修改渲染页面

Jquery 使用“单击”修改渲染页面,jquery,confluence,Jquery,Confluence,我在Confluence中遇到了一个jquery问题。 我有以下代码: ## @param pmname:title=Name(select)|required=true|type=string <script> AJS.toInit(function() { $(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden"); }); </script> ##@pa

我在Confluence中遇到了一个jquery问题。 我有以下代码:

## @param pmname:title=Name(select)|required=true|type=string

<script> 
AJS.toInit(function() {

$(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");

});

</script>
##@param pmname:title=Name(选择)| required=true | type=string
AJS.toInit(函数(){
$(“.sectionMacroWithBorder”).not(“:contains(“$ParampName”)”).addClass(“隐藏”);
});
它工作得非常完美-隐藏所有不包含给定文本的部分。 但是,当我尝试创建一个按钮来在单击时激活相同的代码时

 ## @param pmname:title=Name(select)|required=true|type=string

 <script>
 AJS.toInit(function() {

 $('.wiki-content').append('<button id="addnew" type="button">$parampmname</button> ');

 $('addnew').on('click', 'button', function() {

 $(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");
  }); 

 });

 </script>
##@param pmname:title=Name(选择)| required=true | type=string
AJS.toInit(函数(){
$('.wiki content')。追加('$parampmname');
$('addnew')。在('click','button',function()上{
$(“.sectionMacroWithBorder”).not(“:contains(“$ParampName”)”).addClass(“隐藏”);
}); 
});
jquery在页面底部创建按钮,但是在单击时,与第一个示例中给出的变量相同,不会发生任何事情。我还尝试了
.addnew
#addnew
.on.

这里有一把小提琴(感谢马克·舒特西斯!),上面有类似的按钮:

我是做错了什么,还是这是jquery的一个特殊之处?

这是:

应该是:

$('#addnew').on('click', function() { ....
因为
按钮
具有
id=“addnew”
并且不是
#addnew

或者,如果您愿意,您最终可以这样做:

$('.wiki-content').on('click', '#addnew', function() { ...
。。。要使用
id=“addnew”
单击事件委派给当前或将来的子元素,请尝试为单击侦听器添加新的

AJS.toInit(function() {

$('.wiki-content').append('<button id="addnew" type="button">$parampmname</button> ');

$('#addnew').on('click', 'button', function() {

$(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");
 }); 

});
AJS.toInit(函数(){
$('.wiki content')。追加('$parampmname');
$('#addnew')。在('单击','按钮',函数()上){
$(“.sectionMacroWithBorder”).not(“:contains(“$ParampName”)”).addClass(“隐藏”);
}); 
});

是的,我在发帖前玩过。不幸的是,它不起作用,尽管它应该起作用。这在Confluence中对您有效吗?还是应该如此?@EasyLife:这就是
.on()
应该有效的方式,不管平台已经这样做了,甚至在最初的问题中提到过。在汇流中不起作用。。。
AJS.toInit(function() {

$('.wiki-content').append('<button id="addnew" type="button">$parampmname</button> ');

$('#addnew').on('click', 'button', function() {

$(".sectionMacroWithBorder").not(":contains('$parampmname')").addClass("hidden");
 }); 

});