I am working on a little javascript project, and I need to get an arbitrary element's style information.
For instance, I want a method that you can pass a reference to an object, and for instance, find the current css height property that applies to it, no matter where it was declared. I don't mind it returning a null value if it wasn't set anywhere, but if it's coming from some css class or some css id or some locally defined style, I want to know what is being expressed.
If I just try el.style.height, it only lets you know what the height is if it was explicitly defined in the style tag.
Using Javascript I know you can create elements on the page, but is it possible to create properties within the Style element?
For instance, I want to create the following CSS style: Code: .className { background-color: #9cf; border-top: 2pt solid #000; border-right: 1pt solid #000; border-bottom: 1pt solid #000; border-left: 1pt solid #000; } Is this possible using the DOM, or will I need to export all of my styles in one long text string and replace the Style tags innerHTML?
I was originally under the impression that css style properties could be accessed/ listed since they exsisted as an array somewhere.
Is this just flat out wrong?
To illustrate - I guess I thought something like this could be used to list available/ or set properties, or in this example the first property. Is this just a fantasy? Or how does this work, at this level or for document objects even?
//assuming <div id="menu"></div> exisists and hs styles applied....
I'm not sure this is the right group to post to, I've just found this group.I notice the old alt.dhtml group has been murdered, overwhelmed by spam. On my page: [URL] I am trying to get an element's style.top, style.marginTop, and backgroundColor. I can successfully do getElementById( ) on the element, but I can't get any settings from the element. If you bring up the page, all of this stuff is supposed to display in a header-like line just under the small banner. I can see that the doc's scrollTop has been retrieved OK (it wiggles if you move the vertical scroll bar) but all the other stuff is MIA. What am I doing wrong that I can't get this element's style properties? In the source, the function 'scroll(),' which is trying to read these properties, is at line 52.
I would like to create a function that will change the colour of a button when clicked then change it back at the end of the function. It works by capturing the backgroun color an then storing it as a variable. However it refuses to capture the original background color if the style is set via an external CSS style sheet. It only works if i set the style via the element markup. Am i doing something wrong and is there any way of capturing the style set by a external stylesheet?
I thought I'd try to begin with the accordion and tab, but I have had no success yet. I must be missing something simple. Here is the first test page:[code]Instead of getting tabs, I get my pages (generated by cgi perl scripts) displayed in tiny little scrollboxes at the top left.Equally bad, Firefox is telling me, in the error console, that jQuery.Tabs is undefined.FireFox doesn't like the filter and zoom properties in your style sheet.So, then, what do I need to do to get the tabs to work in the first instance. And then, how do I modify it to use an Accordion to display the same material. Are there any issues I need to be aware of when I start having my perl scripts (using predominantly the Perl packagesCGI and CGI::Session)create these pages?As far as possible, I am trying to keep this all valid HTML5, so that I can eventually make this interface mobile device friendly.
if I have an html page that uses the <style> or a <link> to call a style sheet these properties aren't available to JavaScript is there a good way to access them? eg
<html> <head> <title>expandable text area</title> <style type="text/css">
It works if I specify the actual background image within the function, so I know the image is there, and I know it's been properly assigned to div2, but div1's background image doesn't change.
I have a billion elements that all share the same class. I have another billion elements that all share another class. This cannot be changed. My objective is to use one element to trigger onclick a change in the others elements' css properties, that is each element is paired with another, producing a billion unique pairs. From hours of deciphering the cryptic documentation examples ive come up with the following, which doesnt work. Assume that im using "name=item#" in the element's tag to identify each pair.
One fundamental issue with this is that it will change the opacity of both elements in the pair were both elements to share a name,or it will only affect the element being clicked on if not, but i only want it to change the opacity of the element that isnt being clicked. Another issue is that there are instances where i may need to set a setTimeout on a css property, and ive not found any documentation on integrating javascript and jquery together within a function.So how do i get this function to accept input from one element and affect the css properties of the other? And what would a setTimeout look like if it were placed around the opacity property?
How do I restore CSS properties for a selected element? I want to change the background-color of a particular item on click, then restore the original CSS bgcolor from the stylesheet when it's clicked a 2nd time.
The item in question has a CSS class applied to it from the stylesheet.
I have 1 form, and dozens of elements. In the select elements I use onchange="somefunc()". In this function I'd like to access and change the form element attributes (such as form.element.option[].value and form.element.option[].innerHTML).
Is there a way to access the element that has just changed (unsing onchange="somefunc()") by passing a "this.element" parameter to access the elements properties such as form.element.option[].value within the function?
On a page I display a link of search results which are hyperlinks, which all have the same URL get paramaters with different values (i.e. companyreport.aspx?....). I want to then click on a search result hyperlink and then generate a Div popup (this is called through a javascript call that is attached to each search result hyperlink's onClick property.
For the hyperlink that is clicked, I need to take its 'href' value and use it (reason for us is in a bit).
On the popped up Div element is a dropdown box and two buttons (accept / decline). Once the accept button is pressed, I want to then go to the page the selected hyperlink was pointing to by using the 'href' value I obtain from the clicked search hyperlink and to also append to this hyperlink the a new GET parameter and the value of the dropdown box.
I have got this to work currently but it seems quite mess, so was wondering if there is a better solution to this.
I am dynamically building a part of my HTML page by setting the innerHTML of a DIV element. Immediately after I do that I try to retrieve the clientHeight and clientWidth of the DIV element in order to determine what height and width the element actually ended up being. But I always get 0 as both the height and width. The contents of the DIV, i.e. the HTML code that I inserted into it via the innerHTML, does indeed get displayed on the page. But I suspect that the browser doesn't actually update the page until AFTER my JavaScript code has completed and "returns control" to the browser.
Does that make sense? Is there any way I can force the browser to update the page BEFORE my code completes its processing, so that I can properly retrieve the width and height of the element I just inserted into the page?
I have an object on the document element that allows for other components to register with it, i have a custom event something along$(document).bind("register",function(thechild)..So in the child object when they are created i call$(document).trigger("register",this);And indeed i get the DOM object. However i'm looking for the plug in object, i want to be able to call methods on the passed childobject and access it's Config.Does that make sense? How can i write a plug in that is applied to various objects that also registers itself with an 'overseer' object on the document element in such a way that i can allow that overseer object to call methods on any registered child objects?
how to add extra properties to html elements as I was storing data in html attributes. After looking at some others code including Raphael and this addEvent code. [URL] They seem to treat objects just like an array. obj[property] = value; This would have been extremely helpful to know previously as I have needed to be able to include variables in property names - but have resorted to making the whole thing a string and calling exec() on it.
function test(id) { alert(document.getElementById(id).style.backgroundColor); }
Why doesn't this work? It returns nothing, but the class, which the element uses, has a background-color value set... ?!?!?! Am i missing something... ?
i am trying to have text-decoration applied on some text depending on the value of certain variable. If the value of myvar=0 text-deco =none and if it's 1 then text deco= line-trough...
Kind of the same thing that emails web apps like yahoo or gmail do with mails read or unread if it's unread then email title/subject is bold/strong but if it's read then email title is in normal font-weight...
here is some piece of code i have written to do that
the text on which i want to apply the conditionnal decoration is a table cell (cell2DisplayCell1), the text itself is inserted by the innerHTML instruction!
I tried to introduce the conditional statement with a function displaylinksLineThrough() which is defined in the second block code... Code:
Any way to remove styling on a parent element with JS (as it can't be done in CSS). In a situation like this: Code: <p><img src="image1.gif"></p> <p>Brutus aderat forti.</p> <p><img src="image2.gif"></p> <p>Caesar adsum jam.</p>
The <p> element has default padding, but I'd like to remove the padding when the <p> contains an image. This was my failed attempt to target the <p> element: Code: window.onload = paraPad; function paraPad() { var img = document.getElementsByTagName("img"); var imgpara = img.parentNode; for (i=0; i<imgpara.length; i++) { imgpara.style.padding = "0"; }}