2017-08-03 109 views
0

我有一个元素无法找到jQuery选择

<a ng-if="summaryData.secondFactorType == 'NOAUTH'" class="m-r-xl cursorPointer pull-right m-t-sm cancelbtn ng-scope" ng-click="cancel('PAY_NOAUTH') ">Cancel</a> 

我想因为jQuery是给语法错误的一种方式选择定位使用ng-click="cancel('PAY_NOAUTH')

我无法创建正确的选择这个元素或其他

+0

为什么不通过你的类中的一个找到工作的呢? – Taplar

+0

@Taplar我猜'ng-click =“cancel('PAY_NOAUTH')'可能比类 – user5858

+0

类可以更可靠并且持续更多的时间能够回退到getElementsByClassName本机选择器上,它可以对自定义选择器尽可能地尽量使用class或id选择器,在某些情况下,速度优势可能是不可忽略的,但通常它会减少工作量,如果你决定改变你的ng-click值,你的逻辑不会中断 – Taplar

回答

0

我注意到你的结尾括号后面有一个空格,对于我来说我需要包含空格才能让选择器工作,或者只是从html中删除空格。这应该与空间

$('a[ng-click="cancel(\'PAY_NOAUTH\') "]')

,这没有它

$('a[ng-click="cancel(\'PAY_NOAUTH\')"]')

1

你可以使用一个attribute selector这样的:

$("[ng-click='cancel(\"PAY_NOAUTH\")']") 
+0

它给错误:'未捕获的错误:语法错误,无法识别的表达式:[ng-点击''取消('PAY_NOAUTH')']' – user5858

+0

你有没有像上面那样在'PAY_NOAUTH'附近转义''' –

+0

我正在输入的控制台中输入完全相同的表达式 – user5858