Add Class(es) to <html>

Adding Classes

In CodePen, whatever you write in the HTML editor is what goes within the <body> tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html> tag. If you want to add classes there, that can effect the whole document, this is the place to do it.

Stuff for <head>

About the <head>

In CodePen, whatever you write in the HTML editor is what goes within the <body> tags in a basic HTML5 template. If you need things in the <head> of the document, put that code here.

CSS Preprocessor

About CSS Preprocessors

CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.

CSS Base

About CSS Base

It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, chose Neither and nothing will be applied.

NormalizeResetNeither

Vendor Prefixing

About Vendor Prefixing

To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit- or -moz-.

Add External CSS

These stylesheets will be added in this order and before the code you write in the CSS editor. You can also add another Pen here, and it will pull the CSS from it. Try typing "font" or "ribbon" below.

About External Resources

You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.

If the stylesheet you link to has the file extension of a preprocessor, we'll attempt to process it before applying.

You can also link to another Pen here, and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.

JavaScript Preprocessor

About JavaScript Preprocessors

JavaScript preprocessors can help make authoring JavaScript easier and more convenient. For instance, CoffeeScript can help prevent easy-to-make mistakes and offer a cleaner syntax and Babel can bring ECMAScript 6 features to browsers that only support ECMAScript 5.

Add External JavaScript

These scripts will run in this order and before the code in the JavaScript editor. You can also link to another Pen here, and it will run the JavaScript from it. Also try typing the name of any popular library.

About External Resources

You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.

If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.

You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.

CSS

JS

jQuery(document).ready(function($) {
"use strict";
// This sets up no conflict mode and makse the $ symbol aviable inside the .ready();
// This is the first option an probaly the best if you can add a class to each of your elements.
// also I used the .change instead of .on("change" handler) this is the shortcut.
// For the elementName var I used the plain javascript .slice method to get everthing, but the last
// letter, concatenated the "Name" string then concatenated the last letter or number in this case
function onPhotoChange() {
$(".photoClass").change(function () {
var elementID = $(this).attr('id'),
elementName = elementID.slice(0,-1) + "Name" + elementID.slice(-1);
$(elementName).val($(this).val().replace(/C:\\fakepath\\/i, ''));
});
}
// If you can't add a class to each image you could create an array, then convert the array to a string and
// pass the comma separted string into the $ selector. Everything else stayed the same.
function createArray() {
var myArray =[ "#photo0", "#photo1", ..... , "#photo12" ],
selectorList = myArray.toString();
$(selectorList).change(function () {
var elementName = $(this).slice(0,-1) + "Name" + $(this).slice(-1);
$(elementName).val($(this).val().replace(/C:\\fakepath\\/i, ''));
});
}
// Here is an example of a listner function same concept as above
function photoHoverListener() {
$(".photoClass").hover(function() {
var elementID = $(this).attr('id'),
elementName = elementID.slice(0,-1) + "Browse" + elementID.slice(-1);
$(elementName).toggleClass("btn-inverse");
});
}
onPhotoChange();
photoHoverListener();
}); // End of .ready(); Can no longer use $ in no conflict mode

!

999px

Close

Asset uploading is a PRO feature.

As a PRO member, you can drag-and-drop upload files here to use as resources. Images, Libraries, JSON data... anything you want. You can even edit them anytime, like any other code on CodePen.