0

My buttons are input type=button, id field set, and no text in between the tags since it appears to the right of my buttons rather than inside. (sorry, won't let me publish the html for some reason).

I .button() them and set their label. All works as expected, but I can't select them by :contains().

How do you select jQuery UI buttons by their labels?

Thanks in advance!

Edit

I don't select by id because the text of the button changes based upon a variable in my db. Is there a way to select by .data?

4

1 に答える 1

0

ボタンを作成し、jQuery がそれを作成する方法を確認する必要があります。ドキュメントの例を見ると、.button() がラベルを含むボタン要素にスパン要素を作成することがわかります。したがって、ui-button-text のクラスを持つこの内部スパン要素に対してクエリを実行できます。

しかし、物事を識別するために作成されているため、ID を選択できるように、コードを考え直して作り直す必要があると思います。

編集:それから最初のアドバイスに行きます

var buttons = $('button').filter(function (index) {
    $('.ui-button-text:contains("' + your_string + '")', this).length > 0
});
于 2012-09-24T14:20:54.027 に答える