Невозможно передать значение этого оператора в IE 9, пока он работает нормально в IE7 и IE8

0

Невозможно использовать атрибуты тега div, передавая объект loadApp() с помощью этого оператора

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<script>
function loadApp(theItem)
{
_thePage = theItem.appname;
alert(_thePage);// displaying undefined value in IE 9 while it works in IE7 and IE8(../eisptool.html)
}
</script>
</head>

в теле есть тег div со следующими атрибутами:

<div class="treeItem" onclick="setGroup('graph');loadApp(this)" fex="GSAS"   appname="../eisptool.html" show="domainView calculationRule target" hide="trigger">Summary Graph</div>

Когда я пытаюсь использовать атрибут appname тега div, получаю undefined значение.

  • 0
    Я удивлен, что это работает в IE7 и IE8. Пользовательские атрибуты HTML обычно не добавляются в элемент DOM как свойства. IE9 ведет себя здесь правильно.
Теги:
internet-explorer

1 ответ

1

Некоторые атрибуты автоматически переходят в свойства браузера, такие как .id. Но пользовательские атрибуты обычно не превращаются в свойства, поэтому, если вы хотите прочитать пользовательский атрибут во всех браузерах, вам нужно прочитать его с помощью .getAttribute().

function loadApp(theItem) {
    _thePage = theItem.getAttribute("appname");
    alert(_thePage);
}

Конечно, вам действительно нужно использовать спецификацию HTML5 для пользовательских атрибутов и использовать префикс data- поэтому пользовательский атрибут в вашем HTML будет data-appname="../eisptool.html" и вы будете использовать getAttribute("data-appname").

  • 0
    Благодарю вас!!! Работает !!!!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню