Jquery 使用“单击”修改渲染页面
我在Confluence中遇到了一个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
## @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");
});
});