我在Jquery中有一些经验,在这里我试图创建一个jquery插件,但我被困在这里,我试图显示p标签元素 按钮是单击,
newModel.set_weights(oldModel.get_weights())
$(function() {
var myFirst = {
paragraph: $('p'),
init: function() {
$("<button></button>", {
text: "My New Button"
}).appendTo('.mybutton')
.on('click', function() {
$(this).find('p').show();
});
}
}
myFirst.init();
})
答案 0 :(得分:1)
问题在于您的DOM遍历。 p
是您附加的button
的父级的兄弟,但您在按钮内尝试find()
。请改用parent().next('p')
:
$(function() {
var myFirst = {
paragraph: $('p'),
init: function() {
$("<button></button>", {
text: "My New Button"
}).appendTo('.mybutton').on('click', function() {
$(this).parent().next('p').show();
});
}
}
myFirst.init();
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="mybutton"></div>
<p style="display:none;">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad illo nobis mollitia. Ex nemo quae vero, rem, magnam numquam repudiandae. Labore laborum officia corporis sint voluptatem est, odio quidem libero.</p>
&#13;
话虽如此,这里的逻辑与HTML的结构过于紧密地联系在一起。我建议您在init()
逻辑中创建所有相关元素 - 但是,如果仅用于测试,则不一定需要深入了解。
答案 1 :(得分:0)
此行在按钮内查找p标签。
$(this).find('p').show();
试试这个
$('p').show();