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";
    }
 }

首先,您进入的对象没有名为 name 的 javascript 属性,因为它是一个 DOM 元素。您需要使用 DOM API ( https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute )访问属性

其次,一旦有了名称,它就是一个字符串,因此您需要将它与字符串 YtoD 进行比较,而不是对象引用。

于 2013-06-14T10:44:47.387 回答