<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Sandbox</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style type="text/css" media="screen">
body { background-color: #000; font: 16px Helvetica, Arial; color: #fff; }
</style>
</head>
<body>
<p>Hello from JS Bin</p>
<p id="hello"></p>
<script type="text/javascript">
<!-- we run in the footer so no need to use onload -->
%code%
</script>
</body>
</html>
// A patch for Sizzle to enable filtering based on .data() or .css() with jQuery
// example:
// $('div').data('foo.bar', 1234) //set some data on an element
// Sizzle('div[:foo.bar^=12]') //you can filter it like an attribute
// or filter by css styles:
// Sizzle('div[~display=block]')
//append negative lookahead: (?![^\[]*\]) so they won't match inside []
jQuery.each(['CLASS', 'CHILD', 'POS', 'PSEUDO'], function(i){
var m=Sizzle.selectors.match;
m[this] = new RegExp( m[this].source + /(?![^\[]*\])/.source );
})
//inserted [\\.\.\:~] to match these characters too
Sizzle.selectors.match.ATTR = /\[((?:[\w\u0128-\uFFFF_-]|[\\.\.\:~])+)\s*(?:(\S{0,1}=)\s*(['"]*)(.*?)\3|)\]/;
//get .data() or .css()
Sizzle.selectors.filter.ATTR = function(elem, match){
var m1=match[1],
data = m1.indexOf(':') == 0 ? m1.substring(1) : "",
style = m1.indexOf('~') == 0 ? m1.substring(1) : "",
result = style ? jQuery(elem).css(style) : (data ? jQuery.data(elem, data) : elem[ m1 ]),
value = result + "", type = match[2], check = match[4];
return result == null ?
false :
type === "=" ?
value === check :
type === "*=" || type === "~=" ?
value.indexOf(check) >= 0 :
!match[4] ?
result :
type === "!=" ?
value != check :
type === "^=" ?
value.indexOf(check) === 0 :
type === "$=" ?
value.substr(value.length - check.length) === check :
type === "|=" ?
value === check || value.substr(0, check.length + 1) === check + "-" :
false;
}
Output
300px
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |