动态元素无法选择其余的DOM?

时间:2019-01-06 16:24:36

标签: jquery dynamic bootstrap-4

我有一个通过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)进行选择,但由于某些原因它无法正常工作。有什么想法吗?

1 个答案:

答案 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>