Asked  7 Months ago    Answers:  5   Viewed   35 times

Custom data attributes: http://dev.w3.org/html5/spec/Overview.html#embedding-custom-non-visible-data

When I say “work”, I mean, if I’ve got HTML like this:

<div id="geoff" data-geoff="geoff de geoff">

will the following JavaScript:

var geoff = document.getElementById('geoff');
alert(geoff.dataGeoff);

produce, in IE 6, an alert with “geoff de geoff” in it?

 Answers

77

You can retrieve values of custom (or your own) attributes using getAttribute. Following your example with

<div id="geoff" data-geoff="geoff de geoff">

I can get the value of data-geoff using

var geoff = document.getElementById("geoff");
alert(geoff.getAttribute("data-geoff"));

See MSDN. And although it is mentioned there that you need IE7 to get this to work, I tested this a while ago with IE6 and it functioned correctly (even in quirks mode).

But this has nothing to do with HTML5-specific attributes, of course.

Tuesday, June 1, 2021
 
Freddie
answered 7 Months ago
90

It's not a method of document:

function getElementsByClassName(node, classname) {
    var a = [];
    var re = new RegExp('(^| )'+classname+'( |$)');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

tabs = getElementsByClassName(document.body,'tab');  // no document
Tuesday, June 1, 2021
 
Fredy
answered 7 Months ago
81

This is dependent on your site and how much it relies on HTML5 elements. The easiest way to find out is to simply run your site on IE6-IE8 with JavaScript disabled and see!

With that said, you can expect your elements to mostly just not show up with styles. IE6-IE8 do not understand HTML5 elements and won't apply CSS to them if it doesn't expect them. The HTML5 Shiv is used to force IE to understand the new elements and then it automatically applies CSS to those elements.

Ultimately I think JavaScript being disabled is pretty rare now. Back in the day it was disabled to avoid annoying and useless flashy effects. Some people still do it, but so many sites require interactive behavior (the very site we are on now is heavily reliant upon JS) that users disabling JS are probably used to shit being broken across most of the internet.

It is not an unreasonable requirement that users have JS enabled, especially on such an old browser. If you design for the lowest common denominator you'll either end up supporting multiple code paths which takes a lot longer, or end up with an uninspiring website. Sometimes (government, school, large corporate websites) you need to do this, but for most of the web it's probably not going to kill you to simply have a JS Required message show up if the user does not have it on.

(MINUS SPACES) < noscript >code here gets executed when javascript is diabled< /noscript >

Saturday, July 31, 2021
 
Sugrue
answered 4 Months ago
80

Not possible. The expression parser behind the Expression property is simple and not extensible. Making arbitrary function calls is not one of its capabilities. There are several ways to work around this, especially ones that don't require an expensive reflection lookup. Consider the DataTable.RowChanged event for example.

Thursday, October 21, 2021
 
rojo
answered 1 Month ago
77
@font-face {
    font-family: 'NimbusSanConD-Lig';
    src: url('fonts/228BFB_1_0.eot');
    src: url('fonts/228BFB_1_0.eot?#iefix') format('embedded-opentype'),
         url('fonts/228BFB_0_0.woff') format('woff'),
         url('fonts/228BFB_0_0.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

This code works in IE. It was generated using Font Squirrel

Wednesday, November 17, 2021
 
maciekm
answered 2 Weeks ago
Only authorized users can answer the question. Please sign in first, or register a free account.
Not the answer you're looking for? Browse other questions tagged :  
Share