Weird SetAttribute('usemap',val) In Opera
Jan 7, 2007It works OK in IE and Moz, but in Opera the change of the attribute's value works on once, first time. No error. That confuses me. Why works only once? Any ideas? Code:
View 16 RepliesIt works OK in IE and Moz, but in Opera the change of the attribute's value works on once, first time. No error. That confuses me. Why works only once? Any ideas? Code:
View 16 RepliesI'm in the process of migrating a script to use DOM core methods but I've hit a roadblock in the aforementioned browser. The following code snippet illustrates what I'm basically trying to do, it really is incredibly basic!
var newimg = document.createElement('img');
newimg.setAttribute('id', 'placeholder');
newimg.setAttribute('src', 'images/large/courtyard.jpg');
I'm then positioning the element on the page using appendChild(). Everything works perfectly on Firefox 1, IE5+, Opera 8, Konqueror 3.3.1 (Linux) but not in Opera 7.54. I suspect the element is being created as associated styling on #placeholder is being applied (just some padding and borders) but the image itself is not being displayed. I assume therefore that the problems lies with setAttribute()?
This seems like the sort of problem that others would have encountered, but I haven't been able to find mention of it anywhere.
I change an image using a map by rolling over a button. The point is I have
to change the map as well. I tried this way:
document.images['home_dx'].usemap = "#" + NewMap;
but it seems not to wrok. Do somebody know how to do it?
Hey JavaScript gurus!
Here's a weird one:
If I check (with an alert) this line:
vStrDate2 = vDate.toLocaleString();
I get: Saturday, August 14, 2004 7:57:30 PM (as I should)
but this operation...
vStrDate = vDate.getMonth() + "/" + vDate.getDate() + "/" + vDate.getYear();
Avails me: 7/14/2004 (!?!?!?!)
I check my computer date and it definitely believes (as do I) that it is
August. Any idea why getmonth() thinks it's July?
Also, is there an easier way to get this American date string?
I have the following script:
function Test(){}
Test.F = function(){}
Test.F.FF = function(){}
Test.F.FF.FFF = function(){}
Test.F.FF.FFF.FFFF = function(){}
//var alias = function(){};
var alias = Test.F.FF.FFF.FFFF;
var date1 = new Date();
for (var index = 0; index < 100000; index++)
Test.F.FF.FFF.FFFF();
//alias();
var date2 = new Date();
print(date2.getTime() - date1.getTime());
Why is it when I use Test.F.FF.FFF.FFFF() I get around 100ms and when I
get alias() I get around 280ms?
What is going on here? This is something I would have never anticipated
and I think that neither of you as well. Aliases whould work faster
then doing lockups at each iteration, right?
Also if I uncomment this line: var alias = function(){}, from 280ms I
get a drop to 265 ms?
i'm looking for some help with a weird problem I've come across. So, I'm using jQuery's toggle() function to hide and show a html element, for example a <div>. Then I put the current state in a cookie ( visible / not ) and when I refresh the page I get the data from the cookie and if the state says non-visible I hide the element. So far so good. However, I wanted to add some animation to the whole thing so I've put slideToggle() instead of toggle() and it works, but when I refresh the page, the element won't hide. Any idea what's the problem? Am I wrong going for slideToggle?
View 1 Replies View RelatedFor some reason, when i split a basic string in IE I'm getting an extra value in the array which is something like this:
function(v,n){n = (n==null)?0:n; var m = this.length;for(var i = n;
That's the actual value. Here's the call I use:
var value = "test@test.com, test1@test1.com";
[code]....
ok, here's the background on my "lets learn jquery" debacle ... I have downloaded it (plus the UI) and that demo index.html loads and functions perfectly.
well, I can create a brand new .html document, and include just the jquery.js and perform something, and it will work ... here's the thing, if I change *anything* in the source file, the content in firefox will not refresh ... I could even delete random tags, including the <body> tags, the <h1> tags and text ... and it will just not carry over to the browser. And, if I view the source on firefox it will show a random amount of lines removed from the bottom of the .html file
what in the world is happening ... it is driving me crazy that i cant figure this out. (btw i'm using jquery1.4.4 on centos5.4 + apache2.3.3, and firefox3.6.6 from win7 if it matters)
to recap, if i start with a blank/fresh/from scratch file it will work as designed ... but as soon as I change anything, adding or removing code/content, it blows up randomly displaying content (even old content that isnt even saved in the .html file anymore!)
Warning: Complete newbie! I am trying to installthis simple slideshow as a header on my site. It is working fine, but there is an incredibly large gap after the header (see photo below) that is not supposed to be there. Here is the code I am using:
<script language="javascript" type="text/javascript" src="http://www.logfinish.com/logfindesign/pop-up.js"></script> <table width="1004" border="0" align="center" cellpadding="0" cellspacing="0">
tr>
<td align="left" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<style>
[Code]...
this script updates an image on a page and resets the class name of a link. Works fine in Mozilla browser. However, the setAttribute method in the second function doesn't work in IE. Is there a known bug connected with this?
Any ideas?
var view;
//update image
function getView(view)
{
var source = view.getAttribute("href");
var imgsrc = document.getElementById("view");
imgsrc.setAttribute("src", source);
setClass(view);
}
// update class names of links
function setClass(view)
{
var arLinks = document.getElementsByTagName("a");
var ct = (arLinks.length-1);
for (var i=0; i<ct; i++)
{
arLinks[i].setAttribute("class", "inactive");
}
view.setAttribute("class", "active");
}
I have an IFrame whose document is created completely by Javascript code at
runtime. The document in the IFrame accesses Javascript functions in the
top level document. This works fine most of the time. But every now and
then, when I hit the back button, the browser suddenly thinks the Javascript
created document in the IFrame is not from the same domain as the topmost
document, and therefore I start getting "permission denied" errors when I
try to access the top level document's Javascript functions.
If I look at the IFrame document's properties (Mozilla->This Frame->View
Info), it shows the expected URL with a domain name that matches the top
level document.
I am struggling to write an meta element in JS. The meta element in question
is the refresh element.
This is the code I am using
//----------------
function setMetaContent(metaTag, metaName, value) {
//----------------
var metas = document.getElementsByTagName('meta');
if (debug) alert('[setMetaContent] metaTag='+metaTag+' metaName=
'+metaName+' value '+value);
for (var i=0; i<metas.length; i++) {
if (metas[i].getAttribute(metaTag)==metaName)
break;
}
if (debug) alert('[setMetaContent] i='+i+' value '+value);
metas[i].setAttribute('content',value);
}
and I call it with:
How do I use a variable in setAttribute ?
View 1 Replies View RelatedI did some searching around, but didn't see this addressed directly. Here is an example of when dot notation fails in Firefox, and when SetAttribute doesn't fail: Code:
View 4 Replies View Relatedthis works perfectly in firefox - but in internet explorer it just creates the first lable and the input field, although it creates the input field as a regular text field instead of for files. the caption label and text field aren't created at all. any ideas? Code:
View 7 Replies View RelatedI am using the following code to create an 'a' element with 'texto' to add the onclick property to an object:
var vinculo = xCreateElement('a');
var nodoTexto = document.createTextNode('texto');
xAppendChild(vinculo, nodoTexto);
xAppendChild(celda2, vinculo);
vinculo.setAttribute('onclick', 'buscarSolucion(1,1,1)');
'celda2' is a table cell. This works with FF but not with IE. I solved this using a comment from here for the 'name' attribute, like this:
...
vinculo = xCreateElement('<a onClick="' + onClick + '">');
...
But I would like to put it in a function to make it general for any element that has the 'onclick' property. Is there any other way to set the 'onclick' attribute & to be understand by IE & FF?
NOTE: I also found that I can not set 'colspan', I have to set colSpan. Also, I can not set 'class' I have to use the canonical method with 'object.className=...'
I know there is a problem with IE (I wont bother inserting a witty comment here) on handling:
setAttribute('onclick','doStuff');
I have found
yourAnchor.onclick = function() {
// do what you want in here.
}
this works, but I the script I am working on is going through every DIV with a certain class and adding links to the div, I want the button to change something within the div where it is located so I need to pass the id of the parent div. I thought perhaps there was someway to find the id of the button pressed?
Just after upgrading from v1.4.3 to v1.4.4 I started receiving this javascript error on the console, but apart from the update, I didn't do any code modifications. If I follow the console link, it takes me to this point in the source:
[Code]...
with the line in red marked as the error source. What could it be causing the error?
Im writing a piece of javascript that dynamically adds a link to a page, this is the code i'm using
var newP;
newP = document.createElement("a");
newP.innerHTML = "Click here";[code].........
However, it wont work?!?! the link appears in the right place on the page when i remove the line newP.setAttribute("href","http:[url]......);and if i view the source the link is <a>Click here</a> (without any href) so there's got to be something wrong with that line but i don't know what it is.I'm using firefox.
I have multiple attributes (class, id and title) that is needed to insert into a div together. All I know how to use setAttribute for single attribute. So the question is there an "array" setAttribute method to insert all attributes together into an element OR is there a "after" or "before" setAttribute method I can use to insert an attribute after or before other attribute?
View 2 Replies View RelatedI want to implement:
<a href=123 onclick="javascript:return false">123</a>
in DOM,
I have:
var link = document.createElement('a');
link.setAttribute('href', 123);
link.setAttribute('onclick', 'function() { return false; }');
but it doesn't work. The reason I want a href and onclick = false is because I want to drag and drop the 123.
I need setAttribute "src" from main windows to pop-up window (Iframe in it) and also i need to prepload all src files ONCE, so if user ever click to open pop-up and do it againt, its no need to loading againt, can anybody help with the script ... ? Or maybe can sugest me with better method to have same result.
View 3 Replies View RelatedI've been working on this for about four hours (two today, two yesterday) and keep hitting the brick wall. I'm trying to create a function that will add an attribute to specified tags. As the title says, it works great in FF and not at all in IE7. Probably the first question you'll ask after you see my code is "why?" Well, I've got a form with over 100 form fields in it, and if I can avoid manually adding an attribute to all of them, I'll take the JS route.
[Code]...
my code is:
$(document).ready(function(){
$(".caftor").click(function(){
$(this).hide();
$.ajax({
[Code]...
the photos are loaded quickly but with a weird "frame" or line box on the bottom half of the site. This only happens in IE7.
View 3 Replies View RelatedI am trying to setup a form with radio buttons. Each radio button has an OnClick event. When a radiobutton is clicked the current set of radio buttons will be replaced with a new set using document.createElement("input"). Each new radio button needs the same onclick event addedas in the initial set of radio buttons. I first tried:
element.setAttribute('onclick', MyFunction(value));
This, however, will somehow automatically trigger the onclick event! I searched on the internet and found this as the solution:
var new_onclick = function() { alert("this works!"); };
element.setAttribute('onclick', new_onclick);
This will give a "Object" is undefined error!