Alternatively, is there a programming scheme that allows me to assign
custom properties/attributes to DOM elements? I can do it with
FireFox, but not with IE - it throws an error telling that the given
attribute is not supported. Which is strange because AFAIK in
JavaScript you can freely modify objects, add attributes and methods
on the fly. But it looks like that in IE, HTML DOM elements are not
real JavaScript objects.
here's something like an associative array implementation...
/* File: Dictionary.js Version: 1.0 Last modified: 09.17.2002 Author: Alexandar Minkovsky (a_minkovsky@hotmail.com ; URL: http://www24.brinkster.com/alekz) Copyright: Left Type: Class Exports: Dictionary class. Dependencies: None. Description: Similar to ASP "Scripting.Dictionary" Object, or an associative array with somewhat limited functionality. There's a few differences: - "item" property is replaced by two methods getVal and setVal. - "key" property is replaced by the setKey method. As the value of an item can be virtually anything, even another Dictionary object, the Dictionary Class might be usefull. If someone have a suggestion or wants the Dictionary class to be extended some way, feel free to drop me an e-mail. Tested with: IE4; IE5; IE5.5; IE6; NS4.78; NS6.0; NS6.1; NS6.2; NS7.0; Mozilla 1.0; Mozilla 1.1; Opera 6.0 */ /* ================ Dictionary Class ================ - Instanciating oDict = new Dictionary();
- Properties ~ Public (int) count - Number of keys in the Dictionary. Default: 0. Read only, do never manually set this property! ~ Private (Object) Obj - the object actually containing the data. Do never use it directly.
- Methods - look at the function descriptions for detailed explanation. ~ Public (BOOL) exists(sKey) (BOOL) add (sKey,aVal) (BOOL) remove(sKey) (void) removeAll() (Array) values() (Array) keys() (Array) items() (Any) getVal(sKey) (void) setVal(sKey,aVal) (void) setKey(sKey,sNewKey) */ //**************************************** //Dictionary Object //**************************************** /* function: Dictionary Parameters: None Returns: A new Dictionary object. Actions: Constructor. */ function Dictionary(){ //Properties //~Public this.count = 0; //~Private this.Obj = new Object(); //Methods //~Public this.exists = Dictionary_exists; this.add = Dictionary_add; this.remove = Dictionary_remove; this.removeAll = Dictionary_removeAll; this.values = Dictionary_values; this.keys = Dictionary_keys; this.items = Dictionary_items; this.getVal = Dictionary_getVal; this.setVal = Dictionary_setVal; this.setKey = Dictionary_setKey; } //**************************************** //Method implementations //**************************************** /* function: Dictionary_exists implements: Dictionary.exists Parameters: (String) sKey - Key name being looked for. Returns: (BOOL) - true if sKey is found ; false if it is not. Actions: Iterates through all Dictionary keys and checks for sKey. */ function Dictionary_exists(sKey){ return (this.Obj[sKey])?true:false; } //**************************************** /* function: Dictionary_add implements: Dictionary.add Parameters: (String) sKey - Key name to be added. (Any) aVal - Value to be associated with sKey. Returns: (BOOL) - true if sKey is created ; false if it is not (because of a duplicate Key name). Actions: Adds a new Key=Value pair to the Dictionary. */ function Dictionary_add(sKey,aVal){ var K = String(sKey); if(this.exists(K)) return false; this.Obj[K] = aVal; this.count++; return true; } //**************************************** /* function Dictionary_remove implements: Dictionary.remove Parameters: (String) sKey - Key to be removed. Returns: (BOOL) - true if sKey has been removed ; false if it has not (did not exist). Actions: Removes a specified key from the Dictionary. */ function Dictionary_remove(sKey){ var K = String(sKey); if(!this.exists(K)) return false; delete this.Obj[K]; this.count--; return true; } //**************************************** /* function: Dictionary_removeAll implements: Dictionary.removeAll Parameters: None Returns: Nothing Actions: Removes all key=value pairs from a Dictionary object. */ function Dictionary_removeAll(){ for(var key in this.Obj) delete this.Obj[key]; this.count = 0; } //**************************************** /* function: Dictionary_values implements: Dictionary.values Parameters: None Returns: Returns an Array containing all the item values in a Dictionary object. Actions: Iterates through the Dictionary name=value pairs and builds an Array of all values. */ function Dictionary_values(){ var Arr = new Array(); for(var key in this.Obj) Arr[Arr.length] = this.Obj[key]; return Arr; } //**************************************** /* function: Dictionary_keys implements: Dictionary.keys Parameters: None Returns: Returns an Array containing all existing keys in a Dictionary object. Actions: Iterates through the Dictionary name=value pairs and builds an Array of all keys. */ function Dictionary_keys(){ var Arr = new Array(); for(var key in this.Obj) Arr[Arr.length] = key; return Arr; } //**************************************** /* function: Dictionary_items implements: Dictionary.items Parameters: None Returns: Returns a bidimensional Array containing all existing keys=value pairs in a Dictionary object. Actions: - Iterates through the Dictionary key=value pairs and builds a bidimensional Array. - First index contains the key name ; second index contains the value: ex. Arr[0][0] is the key name of the first Dictionary item Arr[0][1] is the value of the first Dictionary item */ function Dictionary_items(){ var Arr = new Array(); for(var key in this.Obj){ var A = new Array(key,this.Obj[key]); Arr[Arr.length] = A; } return Arr; } //**************************************** /* function: Dictionary_getVal implements: Dictionary.getVal Parameters: (String) sKey Returns: Item value for the passed sKey. Actions: Retrieves the Dictionary item value corresponding to sKey. */ function Dictionary_getVal(sKey){ var K = String(sKey); return this.Obj[K]; } //**************************************** /* function: Dictionary_setVal implements: Dictionary.setVal Parameters: (String) sKey (Any) aVal Returns: Nothing. Actions: - Sets the Dictionary item value corresponding to sKey to aVal. - If The key is not found in the dictionary it is created. */ function Dictionary_setVal(sKey,aVal){ var K = String(sKey); if(this.exists(K)) this.Obj[K] = aVal; else this.add(K,aVal); } //**************************************** /* function: Dictionary_setKey implements: Dictionary.setKey Parameters: (String) sKey (String) sNewKey Returns: Nothing. Actions: - Changes sKey to sNewKey - if sKey is not found, creates a new item with key=sNewKey and value=null - if sKey is not found, but sNewKey is found - does nothing. - if sKey and sNewKey both exist - does nothing. */ function Dictionary_setKey(sKey,sNewKey){ var K = String(sKey); var Nk = String(sNewKey); if(this.exists(K)){ if(!this.exists(Nk)){ this.add(Nk,this.getVal(K)); this.remove(K); } } else if(!this.exists(Nk)) this.add(Nk,null); } //****************************************
The portable versions of Firefox, Thunderbird and Sunbird for use with USB drives seems like a great idea and one I could make a helluva lot of use of at work - but before I drive down that particular road, does anyone know how good / bad / indifferent the implementation of Javascript is on these apps? Code:
Its the "To English" bookmarklet as featured on lifehacker (http://lifehacker.com/5168984/to-english-bookmarklet-quickly-easily-translates-any-text-with-one-click).
I got two ASP pages. One is ASP email form (I'm using Persist ASP Email component). Another one has all file links in it. For example, when user click Outlook course hyperlink. It will pop up another window with outlook course PDF file. (All PDF files are already in the server).
What I am trying to do is: When user click the "Add Email" hyperlink, it will add that course name and filepath into ASP/VBScript Dictioanry Object. After the user finish and click "Attach to email" button. All the files will be attached in the email as an attachment.
Because I am not familar with VBScript. So, can Javascript add items to ASP Dictionary Object?
I've always wanted to help second-language English speakers access my site better, by offering a 'double-click on a word' definition in other languages. I had a useful script for some years which was rather dated, and ceased to work if there was an iframe on the page for some reason. Anyway, I found a very good solution at [URL]However, this opens the definition in a new tab/window.
Having experimented with it opening in a popup, I found problems in getting the popup to regain focus if someone had not closed it before looking for another definition. And anyway, popups can get blocked. So I found a nice layer/iframe solution at [URL] though their positioning of the layer is poor, at least in FF because it slides too far down below the bottom of the page. Their script is: [URL]I have modified that to work with dictionarist and stripped out their own floating part of the script, so that it works with position fixed for everything except IE6. But for IE6, I need to still change this from position fixed to position absolute, and then use a script to float the box.I have been trying the script I use successfully elsewhere in a vaguely similar context:
which has a call to startFloat(); near the end, which is based on their own floating script nearer the top of [URL] which I have removed. (Doubtless the references to Netscape (RIP) can be removed.)
I am doing a distionary page with javascript and I am trying to get it so that the definitions come up when the word they are for is clicked on.
Here is my javascript Javascript Document var filename = "dictionary.js"; function loaded(which){ alert(which + " loaded"); }/**/ function showInfo(which){ var placeholder = document.getElementById("definition"); var source = whichInfo.getAttribute("href"); placeholder.setAttribute(source); alert("showInfo called"); return false; }function prepareList(){ if (!document.getElementsByTagName || !document.getElementById) return false; var words = document.getElementById("words"); if (!words) return false; var links = words.getElementsByTagName("a"); for(var i = 0; i < links.length; i++) { links[i].onclick = function(){ showInfo(this); return false; }} alert("prepare list done"); }function init(){ prepareList(); }loaded(filename); window.onload = init;
Here is my html <!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 StrictEN" "[URL]"> <html xmlns="[URL]"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Dictionary DOM Scripting</title> <link href="../styles/main.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="dictionaryScripts/dictionary.js"> </script> </head><body> <div class="page"> <div class="nav"><ul> <li><a href="../home.html">Home</a></li> <li><a href="../form/form.html">Form</a></li> <li><a href="dictionaryCSS.html">Dictionary with CSS</a></li> <li><a href="dictionaryDOM.html">Dictionary with DOM scripting</a></li> <li><a href="discussionPage.html">Discussion</a></li> </ul></div><div class="header"> <h1>Dictionary with DOM Scripting</h1></div> <div class="mainContent"> <div id="words"><h2>L</h2> <p>Click on the word to get a definition</p> <dt><a href="lecturer.html">LECTURER, n.</a></dt> <dt><a href="learning.html">LEARNING, n</a></dt> <dt><a href="liar.html">LIAR, n.</a></dt> <dt><a href="love.html">LOVE, n.</a></dt></div> <div id="definition">Choose a definition</div> </div></div></body></html>
My code: [URL]... When I click on UpraviÅĨ in class edit I need add some HTML code to begin and to end of class entry how to I can select class entry in the same class post on which I clicked?
I have a huge blob of code but the main part I am focusing on is this
$('.billboard_click').click(function () { //this remove class $(".billboard_click").removeClass("billboard_click"); });
1. Execute a click event when the div with the class 'billboard_click' is clicked
2. Once clicked, remove the class from that very div to avoid another click from happening
3. Execute a series of events such as animations, etc
4. add the class back to the clicker div
The code does not seem to work as expected but I am wondering if I am having issues elsewhere at this point and wonder if this actually is known to work
So I create a class: function cMap(mapID){//vars and stuff}
I go and prototype a function: cMap.prototype.loadMap = function(){ //jquery AJAX call }
Now in the jquery $.ajax({...}); call, I use an anonymous function on the "success:" call: success: function(data){ this.member = data; }
My problem is that inside this anonymous function call I'm trying to call a class member of my cMap class to store the data in from the AJAX call, but it's out of scope. So the JS console in FF/Chrome throws errors about bad value/doesn't exist.
How can I access this class member from inside an anonymous function? Or at least what's a good way to go about doing all this?
I am new to this discussion but hope you would post reply for my query and encourage me to keep in touch with this discussion. Well here is my problem. I have made an edit in place form in which we can add and remove the elements. I have used jquery.jeditable.mini.js and jquery.duplicate-remove.js plugins for edit in place and add and remove action. I have live() function to access the dynamically ganerated elements like this. $(".addressDiv span").live("mouseover", function(){ clickable function here...
CONDITIONS:If a person selects a Friday Class but not a Saturday Class the Total Cost Field will automatically enter $99.If a person selects a Saturday Class but not a Friday Class the Total Cost Field will automatically enter $99 as well.If a person selects both a Friday & Saturday Class the Total Cost field will automatically be $159.I found the following code and so far only have it changing when a Friday class is entered. I have no idea where to go from here
<!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" xml:lang="en" lang="en">
I am adding a CSS class to a DIV as follows:$div.addClass("Hover");But I would like the class to be added only if the DIV does not have a class named "Disabled".
I have this filter in a results table that also reflect in a ui datepicker day styling (ex:available unavailable) . Everything fine till i change month or year in datepicker . Maybe i have to use live() or livequery() but can see the way .This is the code:
$("#filterSelect").change(function(){ var filtro=$("#filterSelect").val(); $("#filter-box2").val(filtro);
I'm trying to figure out which selector is faster (assuming that the class 'foo' only appears on input tags)...
$('.foo'); or $('input.foo');
From what I've seen online, it seems that people recommend $('input.foo'), but in some limited testing it appears that $('.foo') is much faster in both FF and Chrome. In IE, both methods seem to produce similar results. Here is a fiddle with a simple example...
[URL]
Have browsers started implementing native ways to find all elements with a given class name? Would that explain why $('.foo') seems to be faster?
[URL] The above webpage lists the selector .class.class without an example. I can't find this usage in jQuery document either. I made the following example, but it doesn't work. Could anybody let me know who to use the .class.class selector?
I'm currently working with Javascript to build some "dynamic" tabs. Basicly, the tab "onmouseover" and "onmouseout" event have been overriden to change the tab's css class.
this.className = this.cssover; // NOT WORKING } this.tab.onmouseout = function() { this.className = "gen"; } } My problem is, I cannot access my HtmlTab class attributes from the this.tab.onmouseover function.
I am attempting to make a menu that has a background image that changeswhen you rollover or click a menuitem. I've got the hover effect working fine with CSS, but am trying to implement the click event via jquery with the following:
My process is to reset the entire menu to the inactive state, then switch on the active state for the item that was clicked. Eventually, the item that was clicked will display its corresponding body section as well. I've tried using the CSS pseudo-class "active", but since the entire div is the link, that is unavailable. I've also tried multiple variations of addClass/removeClass, toggleClass, and setAttribute/removeAttributebut nothing hasworked so far.
I want to add a class to an element when you hover over (so it can be targeted with the next bit) it then do something to that element (animate, fade etc) then the class is removed ready to be applied to another similar element.But it all needs to happen on the initial hover (apart from the class being removed obviously)This is what I have so far that is adding and removing the class...
This is what I'm trying to do: I want a simple image container to swap the image inside it by clicking the nav buttons on the right like 1, 2, 3.Here's my code:
HTML Code HTML4Strict: <div id="item1"> <div class="img-container shadow" style="background-image:url(images/gallery/tcg1.jpg)">[code].....
My jQuery code is not right. I want it to turn off the "hover" class and the "show" class of the others when you click one. I think I need some kind of if..else? how to write it? I have a bg image set on the container div so there's an initial image to view.I also need multiple of these on the same page!