我有一个通过jquery动态添加的按钮。该按钮存在于表的每一行上,现在我需要为其添加功能。问题是我似乎无法选择动态添加的按钮的父项!
我尝试使用jquery来获取按钮的第四个父级的文本,这会返回一个很大的jquery错误,指示我破坏了所有内容。
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setUrls(ClasspathHelper.forClassLoader(classLoader));
configurationBuilder.addClassLoader(classLoader);
Reflections reflections = new Reflections(configurationBuilder);
Set<Class<?>> scenarioClasses = reflections.getTypesAnnotatedWith(Test.class);
// filter classes here with criteria
此函数通过以下方式调用:
var result = $(this).parents().eq(3).text;
alert(result);
我要获取的文本位于按钮上方四个步骤,因此我使用.parents()。eq(3)进行选择,但由于某些原因它无法正常工作。有什么想法吗?
答案 0 :(得分:0)
函数addcomment()中的$(this)不是#addcommentbtn元素。因此,要么您需要将此this作为参数传递给addcomment,然后像在我下面的示例
中那样使用它
function changeColor(thisRef) {
$(thisRef).parent().addClass("alt");
}
// handle click and add class
$("button").on("click", function(){
changeColor(this);
})
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#banner-message {
background: #fff;
width: 300px;
}
button {
background: #0084ff;
color: #fff;
}
#banner-message.alt {
background: #0084ff;
color: #fff;
width: 200px;
}
#banner-message.alt button {
background: #fff;
color: #000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="banner-message">
<p>Hello World</p>
<button>Change color</button>
</div>