1

構築しようとしている単純なjQueryスクリプトがありますが、href文字列の比較でtrueを返すことができません:

<a class="test" href="/Services/Cloud-Hosting">Click Me</a>​

私のスクリプトは次のとおりです。

$('.test').click(function() {
if ($(this).href == "/Services/Cloud-Hosting") {
    alert('hi');
}
else {
    alert('no');
}
});​

href が同じであっても、「いいえ」というアラートが表示され続けます。私は何が欠けていますか?

4

4 に答える 4

10

変化する:

if ($(this).href

に:

if (this.href

または$(this).attr('href')、前者の方が良いです。

属性を読み取るには、attr(の短縮形attribute)を使用する必要があります

これはあなたが持っているべきものです:

if (this.href == "/Services/Cloud-Hosting") {
    alert('hi');
}
else {
    alert('no');
}
于 2012-07-02T18:14:51.283 に答える
4

これを試して:

if ($(this).attr('href') == "/Services/Cloud-Hosting") {
于 2012-07-02T18:15:43.880 に答える
1

.attr ()を見て、これを試してください:

$(this).attr('href') == "/Services/Cloud-Hosting"

代わりは

于 2012-07-02T18:15:28.383 に答える
1

hrefjQuery オブジェクトにはプロパティがありません。を使用して新しい jQuery オブジェクトを作成する代わりに、を使用してHTMLAnchorElementのプロパティにアクセスするだけです。this.href$(this)

于 2012-07-02T18:18:26.777 に答える