我正在使用angularjs。 我的结构是这样的(在较大的表中 - 只显示一个单元格):
<td>
<div>
<label>OU5NS1E2IE1L</label>
<i class="fa fa-times" aria-hidden="true"
ng-click="DeleteElementFromSession($event);"></i>
</div>
</td>
调用DeleteElementFromSession
这行代码时:
$(event.currentTarget).parent()
返回DIV
,这是正确的。但我想返回<td>
元素,其中DIV
在里面。我不知道为什么,调用这个不会返回<td>
元素?它没有返回任何内容:
$(event.currentTarget).parent().parent()
<i>
位于DIV
内,DIV
位于td
内,所以在我看来,这应该有用,但事实并非如此。为什么呢?
答案 0 :(得分:1)
根据Angular JS doc:
https://docs.angularjs.org/api/ng/function/angular.element
parent() - 不支持选择器
parent来自jqLite,它包含一些jQuery函数。
根据jQuery doc:
https://api.jquery.com/parent/
此方法类似于.parents(),但.parent()仅传播a 单一级别的DOM树。
所以只允许一级旅行。
答案 1 :(得分:1)
浏览器正在从DOM中删除current <- 0
shinyServer(function(input, output) {
corpus <- c("Sample sentence one", "Second sentence", "Third sentence")
observeEvent(input$Next,{
if(current <= length(corpus))
output$content <- renderText(corpus[current])
current <<- current %% length(corpus) + 1
})
})
节点,因为它不是合法的HTML。
<td>
节点必须是<td>
和<table>
节点的子节点。
<tr>
然后浏览器将在DOM中包含 <table>
<tr>
<td id="tdNode1">
<div>
<label>OU5NS1E2IE1L</label>
<i class="fa fa-times" aria-hidden="true"
ng-click="DeleteElementFromSession($event);">CLICK HERE</i>
</div>
</td>
</tr>
</table>
节点,<td>
将找到elem.parent().parent()
节点。
<td>
答案 2 :(得分:0)
为此你需要亲近的父母:
$(event.currentTarget).parent().closest('td')