2017-08-03 93 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