0

ここでは、特定のクラス名 (YtoD という名前の最後のクラス) の一致を確認し、それに従って条件を記述します。なぜ機能しないのかわかりません。

HTML:

 Select Range: <a href="#" class="x_lab" name="month" onclick="Lab(this)">Last Month </a>|<a href="#" class="x_lab" name="2 weeks" onclick="Lab(this)" class="label2"> Last 2 Weeks </a>|<a href="#" class="x_lab" name="1 week" onclick="Lab(this)" class="label2"> Last 1 Week</a>|<a href="#" class="x_lab" name="YtoD" onclick="Lab(this)"> Year to Date</a>

Javascript

function Lab(obj) {
    var a = obj.name;
    if (a != YtoD) {
        document.getElementById("linechartxaxislabel").innerHTML = "Price     
    Timeline" + "(Last" + a + ")";
    } else {
        document.getElementById("linechartxaxislabel").innerHTML = "Year     
    to Date";
    }
}

ここで何をすべきですか?

4

1 に答える 1

2

これを試して

function Lab(obj) {
    var a = obj.getAttribute('name');
    if (a != 'YtoD') {
        document.getElementById("linechartxaxislabel").innerHTML = "Price Timeline" + "(Last" + a + ")";
    } else {
        document.getElementById("linechartxaxislabel").innerHTML = "Year to Date";
    }
 }

まず、取得するオブジェクトには、DOM 要素であるため、name と呼ばれる JavaScript 属性がありません。DOM API ( https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute )を使用して属性にアクセスする必要があります。

第二に、名前を取得したら、それは文字列であるため、オブジェクト参照ではなく、文字列 YtoD と比較する必要があります。

于 2013-06-14T10:44:47.387 に答える