Class: Element
- Inherits:
-
Object
- Object
- Element
- Includes:
- Enumerable
- Defined in:
- lib/opal/jquery/element.rb
Overview
Element is a toll-free bridged class that maps to native jQuery instances.
As Element maps to a jQuery object, it can be used to represent 0, 1, or more actual DOM elements. Element exposes a more ruby-esqe interface to jQuery.
Usage
Element instances can be created in a number of ways.
Creating new Elements
A new element can be created using the Element.new method.
el = Element.new(:div)
el.id = "title"
p el
# => #<Element [<div id="title">]>
This is a nicer version of creating a javascript element using
document.createElement and then wrapping it in a jquery object.
Finding existing elements in dom
Any valid jQuery selector expressions can be used with either Element.find or Element.[].
foos = Element.find('.foo')
# => #<Element [<div class="foo">]>
links = Element['a']
# => #<Element [<a>, <a class="bar">]>
Alternatively, Element.id can be used to find an element by its document id (or nil is returned for no match).
= Element.id 'bar'
# => Element or nil
DOM Content from string
Finally, an Element instance can be created by parsing a string of html content. This will parse multiple elements, like jquery, if string content contains them:
Element.parse '<div id="title">hello world</div>'
# => #<Element [<div id="title">]>
Instance Attribute Summary collapse
-
#selector ⇒ Object
readonly
The original css selector used to create Element.
Class Method Summary collapse
-
.[](selector) ⇒ Element
Find elements by the given css selector.
-
.expose(*methods) ⇒ Object
Expose jQuery plugins to become available in ruby code.
-
.find(selector) ⇒ Element
Find elements by the given css selector.
-
.id(id) ⇒ Element?
Find an element by the given id.
-
.new(tag = 'div') ⇒ Element
Create a new dom element, wrapped as Element instance with the given
tagname. -
.parse(str) ⇒ Element
Parse a string of html content into an Element instance.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #[](name) ⇒ Object
-
#[]=(name, value) ⇒ Object
Set the given attribute
attron each element in this collection. - #add_class(class_name) ⇒ Object
-
#after(content) ⇒ Object
Inserts the given
contentafter each element in this set of elements. -
#animate(params, &block) ⇒ Object
Set css values over time to create animations.
-
#any? ⇒ true, false
Returns
trueif this collection has 1 or more elements,falseotherwise. - #append(content) ⇒ Object (also: #<<)
- #append_to(element) ⇒ Object
- #append_to_body ⇒ Object
- #append_to_head ⇒ Object
-
#at(index) ⇒ Element?
Returns the element at the given index as a new Element instance.
- #attr(*args) ⇒ Object
-
#before(content) ⇒ Object
Insert the given
contentbefore each element in this set of elements. - #blur ⇒ Object
- #children(selector = nil) ⇒ Object
-
#class_name ⇒ String
Returns the CSS class name of the firt element in self collection.
-
#class_name=(name) ⇒ Object
Sets the CSS class name of every element in self collection to the given string.
- #click ⇒ Object
-
#clone ⇒ Element
Clone all elements inside this collection, and return as a new instance.
- #closest(selector) ⇒ Object
-
#css(name, value = nil) ⇒ Object
Get or set css properties on each element in self collection.
- #data(*args) ⇒ Object
- #detach(selector = nil) ⇒ Object
- #each {|`$(self[i])`| ... } ⇒ Object
-
#effect(name, *args, &block) ⇒ Object
Start a visual effect (e.g. fadeIn, fadeOut, …) passing its name.
-
#empty ⇒ Object
Remove all child nodes from each element in this collection.
- #fade_toggle(duration = 400) ⇒ Object
- #filter(selector) ⇒ Element
- #find(selector) ⇒ Object
- #first ⇒ Object
- #focus ⇒ Object
- #get ⇒ Object
- #has_attribute?(name) ⇒ Boolean
- #has_class?(class_name) ⇒ Object
- #height ⇒ Object
- #height=(value) ⇒ Object
- #hide(duration = 400) ⇒ Object
- #html(content = undefined) ⇒ Object
-
#html=(content) ⇒ Object
Set the html content of each element in this collection to the passed content.
- #id ⇒ Object
- #id=(id) ⇒ Object
- #index(selector_or_element = nil) ⇒ Object
- #inspect ⇒ Object
- #is(selector) ⇒ true, false
- #is?(selector) ⇒ Object
-
#last ⇒ Element
Returns a new Element instance containing the last element in this current set.
-
#length ⇒ Integer
(also: #size)
Returns the number of elements in this collection.
- #method_missing(name, *args, &block) ⇒ Object
- #next(selector = nil) ⇒ Object (also: #succ)
- #not(selector) ⇒ Element
- #off(name, sel, block = nil) ⇒ Object
- #offset ⇒ Object
- #on(name, sel = nil, &block) ⇒ Object
- #one(name, sel = nil, &block) ⇒ Object
- #outer_height(include_margin = false) ⇒ Object
- #outer_width(include_margin = false) ⇒ Object
-
#parent(selector = nil) ⇒ Element
Returns a new Element set with the parents of each element in this collection.
-
#parents(selector = nil) ⇒ Element
Returns a new Element set with all parents of each element in this collection.
- #position ⇒ Object
- #prepend(content) ⇒ Object
- #prev(selector = nil) ⇒ Object
-
#prop(name, value = undefined) ⇒ Object
Get or set the property
nameon each element in collection. - #remove(selector = nil) ⇒ Object
- #remove_attr(attr) ⇒ Object
- #remove_attribute(attr) ⇒ Object
- #remove_class(class_name) ⇒ Object
- #replace_all(target) ⇒ Object
- #replace_with(new_content) ⇒ Object
- #respond_to_missing?(name, _) ⇒ Boolean
- #scroll_left ⇒ Object
- #scroll_left=(value) ⇒ Object
- #scroll_top ⇒ Object
- #scroll_top=(value) ⇒ Object
- #serialize ⇒ Object
-
#serialize_array ⇒ Array<Hashes>
Serializes a form into an Array of Hash objects.
- #show(duration = 400) ⇒ Object
- #siblings(selector = nil) ⇒ Object
- #slide_down(duration = 400) ⇒ Object
- #slide_toggle(duration = 400) ⇒ Object
- #slide_up(duration = 400) ⇒ Object
-
#stop ⇒ Object
Stop any currently running animations on element.
- #submit ⇒ Object
- #tag_name ⇒ Object
-
#text(text = nil) ⇒ String
Get or set the text content of each element in this collection.
-
#text=(text) ⇒ Object
Set text content of each element in this collection.
- #to_n ⇒ Object
- #to_s ⇒ Object
- #toggle(duration = 400) ⇒ Object
- #toggle_class ⇒ Object
-
#trigger(event) ⇒ Object
Trigger an event on this element.
- #value ⇒ Object
- #value=(value) ⇒ Object
- #visible? ⇒ Boolean
- #width ⇒ Object
- #width=(value) ⇒ Object
- #wrap(wrapper) ⇒ Element
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args, &block) ⇒ Object
778 779 780 781 782 783 784 785 786 787 788 789 |
# File 'lib/opal/jquery/element.rb', line 778 def method_missing(name, *args, &block) args << block if block_given? %x{ var method = self[#{name}]; if (typeof(method) === 'function') { return method.apply(self, #{args.to_n}); } else { return #{super}; } } end |
Instance Attribute Details
#selector ⇒ Object (readonly)
Returns The original css selector used to create Element.
135 136 137 |
# File 'lib/opal/jquery/element.rb', line 135 def selector @selector end |
Class Method Details
.[](selector) ⇒ Element
Find elements by the given css selector.
Returns an empty Element if no matching elements.
73 74 75 |
# File 'lib/opal/jquery/element.rb', line 73 def self.[](selector) `$(#{selector})` end |
.expose(*methods) ⇒ Object
Expose jQuery plugins to become available in ruby code. By default, jQuery methods or plugins must be manually exposed as ruby methods. This method simply creates an aliasing ruby method to call the original javascript function.
128 129 130 131 132 |
# File 'lib/opal/jquery/element.rb', line 128 def self.expose(*methods) methods.each do |method| alias_native method end end |
.find(selector) ⇒ Element
Find elements by the given css selector.
Returns an empty Element if no matching elements.
63 64 65 |
# File 'lib/opal/jquery/element.rb', line 63 def self.find(selector) `$(#{selector})` end |
.id(id) ⇒ Element?
Find an element by the given id.
If no matching element, then nil will be returned. A matching element
becomes the sole element in the returned collection.
84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/opal/jquery/element.rb', line 84 def self.id(id) %x{ var el = document.getElementById(id); if (!el) { return nil; } return $(el); } end |
Instance Method Details
#==(other) ⇒ Object
763 764 765 |
# File 'lib/opal/jquery/element.rb', line 763 def ==(other) `self.is(other)` end |
#[](name) ⇒ Object
409 410 411 412 413 414 415 |
# File 'lib/opal/jquery/element.rb', line 409 def [](name) %x{ var value = self.attr(name); if(value === undefined) return nil; return value; } end |
#[]=(name, value) ⇒ Object
Set the given attribute attr on each element in this collection.
420 421 422 423 |
# File 'lib/opal/jquery/element.rb', line 420 def []=(name, value) `return self.removeAttr(name)` if value.nil? `self.attr(name, value)` end |
#add_class(class_name) ⇒ Object
312 |
# File 'lib/opal/jquery/element.rb', line 312 alias_native :add_class, :addClass |
#after(content) ⇒ Object
Inserts the given content after each element in this set of elements.
This method can accept either another Element, or a string.
143 |
# File 'lib/opal/jquery/element.rb', line 143 alias_native :after |
#animate(params, &block) ⇒ Object
Set css values over time to create animations. The first parameter is a set of css properties and values to animate to. The first parameter also accepts a special :speed value to set animation speed. If a block is given, the block is run as a callback when the animation finishes.
521 522 523 524 525 526 527 528 |
# File 'lib/opal/jquery/element.rb', line 521 def animate(params, &block) speed = params.has_key?(:speed) ? params.delete(:speed) : 400 if block_given? `self.animate(#{params.to_n}, #{speed}, block)` else `self.animate(#{params.to_n}, #{speed})` end end |
#any? ⇒ true, false
Returns true if this collection has 1 or more elements, false
otherwise.
651 652 653 |
# File 'lib/opal/jquery/element.rb', line 651 def any? `self.length > 0` end |
#append(content) ⇒ Object Also known as: <<
245 |
# File 'lib/opal/jquery/element.rb', line 245 alias_native :append |
#append_to(element) ⇒ Object
315 |
# File 'lib/opal/jquery/element.rb', line 315 alias_native :append_to, :appendTo |
#append_to_body ⇒ Object
446 447 448 |
# File 'lib/opal/jquery/element.rb', line 446 def append_to_body `self.appendTo(document.body)` end |
#append_to_head ⇒ Object
450 451 452 |
# File 'lib/opal/jquery/element.rb', line 450 def append_to_head `self.appendTo(document.head)` end |
#at(index) ⇒ Element?
Returns the element at the given index as a new Element instance.
Negative indexes can be used and are counted from the end. If the
given index is outside the range then nil is returned.
460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 |
# File 'lib/opal/jquery/element.rb', line 460 def at(index) %x{ var length = self.length; if (index < 0) { index += length; } if (index < 0 || index >= length) { return nil; } return $(self[index]); } end |
#attr(*args) ⇒ Object
425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 |
# File 'lib/opal/jquery/element.rb', line 425 def attr(*args) %x{ var size = args.length; switch (size) { case 1: var result = self.attr(args[0]); return( (result == null) ? nil : result ); break; case 2: return self.attr(args[0], args[1]); break; default: #{raise ArgumentError, '#attr only accepts 1 or 2 arguments'} } } end |
#before(content) ⇒ Object
Insert the given content before each element in this set of elements.
The given content can be either an Element, or a string.
151 |
# File 'lib/opal/jquery/element.rb', line 151 alias_native :before |
#blur ⇒ Object
200 |
# File 'lib/opal/jquery/element.rb', line 200 alias_native :blur |
#children(selector = nil) ⇒ Object
197 |
# File 'lib/opal/jquery/element.rb', line 197 alias_native :children |
#class_name ⇒ String
Returns the CSS class name of the firt element in self collection. If the collection is empty then an empty string is returned. Only the class name of the first element will ever be returned.
481 482 483 484 485 486 |
# File 'lib/opal/jquery/element.rb', line 481 def class_name %x{ var first = self[0]; return (first && first.className) || ""; } end |
#class_name=(name) ⇒ Object
Sets the CSS class name of every element in self collection to the given string. self does not append the class names, it replaces the entire current class name.
493 494 495 496 497 498 499 500 |
# File 'lib/opal/jquery/element.rb', line 493 def class_name=(name) %x{ for (var i = 0, length = self.length; i < length; i++) { self[i].className = name; } } self end |
#click ⇒ Object
350 |
# File 'lib/opal/jquery/element.rb', line 350 alias_native :click |
#clone ⇒ Element
Clone all elements inside this collection, and return as a new instance.
291 |
# File 'lib/opal/jquery/element.rb', line 291 alias_native :clone |
#closest(selector) ⇒ Object
203 |
# File 'lib/opal/jquery/element.rb', line 203 alias_native :closest |
#css(name, value = nil) ⇒ Object
Get or set css properties on each element in self collection. If
only the name is given, then that css property name is read from
the first element in the collection and returned. If the value
property is also given then the given css property is set to the
given value for each of the elements in self collection. The
property can also be a hash of properties and values.
508 509 510 511 512 513 514 515 |
# File 'lib/opal/jquery/element.rb', line 508 def css(name, value=nil) if value.nil? && name.is_a?(String) return `self.css(name)` else name.is_a?(Hash) ? `self.css(#{name.to_n})` : `self.css(name, value)` end self end |
#data(*args) ⇒ Object
530 531 532 533 534 535 536 537 538 539 540 |
# File 'lib/opal/jquery/element.rb', line 530 def data(*args) %x{ var result = self.data.apply(self, args); if ( (typeof(result) === 'object') && !(result instanceof #{JQUERY_CLASS}) ) { result = #{ JSON.from_object `result` }; } return result == null ? nil : result; } end |
#detach(selector = nil) ⇒ Object
206 |
# File 'lib/opal/jquery/element.rb', line 206 alias_native :detach |
#each {|`$(self[i])`| ... } ⇒ Object
560 561 562 563 564 565 |
# File 'lib/opal/jquery/element.rb', line 560 def each `for (var i = 0, length = self.length; i < length; i++) {` yield `$(self[i])` `}` self end |
#effect(name, *args, &block) ⇒ Object
Start a visual effect (e.g. fadeIn, fadeOut, …) passing its name.
Underscored style is automatically converted (e.g. effect(:fade_in)).
Also accepts additional arguments and a block for the finished callback.
545 546 547 548 549 550 |
# File 'lib/opal/jquery/element.rb', line 545 def effect(name, *args, &block) name = name.gsub(/_\w/) { |match| match[1].upcase } args = args.map { |a| a.to_n if a.respond_to? :to_n }.compact args << `function() { #{block.call if block_given?} }` `self[#{name}].apply(self, #{args})` end |
#empty ⇒ Object
Remove all child nodes from each element in this collection.
296 |
# File 'lib/opal/jquery/element.rb', line 296 alias_native :empty |
#fade_toggle(duration = 400) ⇒ Object
391 |
# File 'lib/opal/jquery/element.rb', line 391 alias_native :fade_toggle, :fadeToggle |
#find(selector) ⇒ Object
212 |
# File 'lib/opal/jquery/element.rb', line 212 alias_native :find |
#first ⇒ Object
567 568 569 |
# File 'lib/opal/jquery/element.rb', line 567 def first `self.length ? self.first() : nil` end |
#focus ⇒ Object
209 |
# File 'lib/opal/jquery/element.rb', line 209 alias_native :focus |
#get ⇒ Object
299 |
# File 'lib/opal/jquery/element.rb', line 299 alias_native :get |
#has_attribute?(name) ⇒ Boolean
442 443 444 |
# File 'lib/opal/jquery/element.rb', line 442 def has_attribute?(name) `self.attr(name) !== undefined` end |
#has_class?(class_name) ⇒ Object
318 |
# File 'lib/opal/jquery/element.rb', line 318 alias_native :has_class?, :hasClass |
#height ⇒ Object
751 752 753 |
# File 'lib/opal/jquery/element.rb', line 751 def height `self.height()` || nil end |
#height=(value) ⇒ Object
394 |
# File 'lib/opal/jquery/element.rb', line 394 alias_native :height=, :height |
#hide(duration = 400) ⇒ Object
188 |
# File 'lib/opal/jquery/element.rb', line 188 alias_native :hide |
#html(content = undefined) ⇒ Object
571 572 573 574 575 576 577 578 579 |
# File 'lib/opal/jquery/element.rb', line 571 def html(content = undefined) %x{ if (content != null) { return self.html(content); } return self.html() || ''; } end |
#html=(content) ⇒ Object
Set the html content of each element in this collection to the passed content. Content can either be a string or another Element.
326 |
# File 'lib/opal/jquery/element.rb', line 326 alias_native :html=, :html |
#id ⇒ Object
581 582 583 584 585 586 |
# File 'lib/opal/jquery/element.rb', line 581 def id %x{ var first = self[0]; return (first && first.id) || ""; } end |
#id=(id) ⇒ Object
588 589 590 591 592 593 594 595 596 597 598 |
# File 'lib/opal/jquery/element.rb', line 588 def id=(id) %x{ var first = self[0]; if (first) { first.id = id; } return self; } end |
#index(selector_or_element = nil) ⇒ Object
329 |
# File 'lib/opal/jquery/element.rb', line 329 alias_native :index |
#inspect ⇒ Object
604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 |
# File 'lib/opal/jquery/element.rb', line 604 def inspect %x{ if (self[0] === document) return '#<Element [document]>' else if (self[0] === window ) return '#<Element [window]>' var val, el, str, result = []; for (var i = 0, length = self.length; i < length; i++) { el = self[i]; if (!el.tagName) { return '#<Element ['+el.toString()+']'; } str = "<" + el.tagName.toLowerCase(); if (val = el.id) str += (' id="' + val + '"'); if (val = el.className) str += (' class="' + val + '"'); result.push(str + '>'); } return '#<Element [' + result.join(', ') + ']>'; } end |
#is(selector) ⇒ true, false
257 |
# File 'lib/opal/jquery/element.rb', line 257 alias_native :is |
#is?(selector) ⇒ Object
332 |
# File 'lib/opal/jquery/element.rb', line 332 alias_native :is?, :is |
#last ⇒ Element
Returns a new Element instance containing the last element in this current set.
275 |
# File 'lib/opal/jquery/element.rb', line 275 alias_native :last |
#length ⇒ Integer Also known as: size
Returns the number of elements in this collection. May be zero.
643 644 645 |
# File 'lib/opal/jquery/element.rb', line 643 def length `self.length` end |
#next(selector = nil) ⇒ Object Also known as: succ
215 |
# File 'lib/opal/jquery/element.rb', line 215 alias_native :next |
#off(name, sel, block = nil) ⇒ Object
724 725 726 727 728 729 730 731 732 733 734 735 736 |
# File 'lib/opal/jquery/element.rb', line 724 def off(name, sel, block = nil) %x{ if (sel == null) { return self.off(name); } else if (block === nil) { return self.off(name, sel.$$jqwrap); } else { return self.off(name, sel, block.$$jqwrap); } } end |
#offset ⇒ Object
556 557 558 |
# File 'lib/opal/jquery/element.rb', line 556 def offset Native(`self.offset()`) end |
#on(name, sel = nil, &block) ⇒ Object
664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 |
# File 'lib/opal/jquery/element.rb', line 664 def on(name, sel = nil, &block) %x{ var has_args = #{block.arity} !== 0; var wrapper = function() { for(var args = new Array(arguments.length), i = 0, ii = args.length; i < ii; i++) { args[i] = arguments[i]; } // Use preventDefault as a canary for native events if (has_args && args[0].preventDefault) { args[0] = #{Event.new `args[0]`}; } return block.apply(null, args); }; block.$$jqwrap = wrapper; if (sel == nil) { self.on(name, wrapper); } else { self.on(name, sel, wrapper); } } block end |
#one(name, sel = nil, &block) ⇒ Object
694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 |
# File 'lib/opal/jquery/element.rb', line 694 def one(name, sel = nil, &block) %x{ var has_args = #{block.arity} !== 0; var wrapper = function() { for(var args = new Array(arguments.length), i = 0, ii = args.length; i < ii; i++) { args[i] = arguments[i]; } // Use preventDefault as a canary for native events if (has_args && args[0].preventDefault) { args[0] = #{Event.new `args[0]`}; } return block.apply(null, args); }; block.$$jqwrap = wrapper; if (sel == nil) { self.one(name, wrapper); } else { self.one(name, sel, wrapper); } } block end |
#outer_height(include_margin = false) ⇒ Object
403 |
# File 'lib/opal/jquery/element.rb', line 403 alias_native :outer_height, :outerHeight |
#outer_width(include_margin = false) ⇒ Object
400 |
# File 'lib/opal/jquery/element.rb', line 400 alias_native :outer_width, :outerWidth |
#parent(selector = nil) ⇒ Element
Returns a new Element set with the parents of each element in this
collection. An optional selector argument can be used to filter the
results to match the given selector. Result may be empty.
161 |
# File 'lib/opal/jquery/element.rb', line 161 alias_native :parent |
#parents(selector = nil) ⇒ Element
Returns a new Element set with all parents of each element in this
collection. An optional selector may be provided to filter the
selection. Resulting collection may be empty.
179 |
# File 'lib/opal/jquery/element.rb', line 179 alias_native :parents |
#position ⇒ Object
759 760 761 |
# File 'lib/opal/jquery/element.rb', line 759 def position Native(`self.position()`) end |
#prepend(content) ⇒ Object
250 |
# File 'lib/opal/jquery/element.rb', line 250 alias_native :prepend |
#prev(selector = nil) ⇒ Object
182 |
# File 'lib/opal/jquery/element.rb', line 182 alias_native :prev |
#prop(name, value = undefined) ⇒ Object
Get or set the property name on each element in collection.
304 305 306 |
# File 'lib/opal/jquery/element.rb', line 304 def prop(*args) Native.call(self, :prop, *args) end |
#remove(selector = nil) ⇒ Object
185 |
# File 'lib/opal/jquery/element.rb', line 185 alias_native :remove |
#remove_attr(attr) ⇒ Object
335 |
# File 'lib/opal/jquery/element.rb', line 335 alias_native :remove_attr, :removeAttr |
#remove_attribute(attr) ⇒ Object
379 |
# File 'lib/opal/jquery/element.rb', line 379 alias_native :remove_attribute, :removeAttr |
#remove_class(class_name) ⇒ Object
338 |
# File 'lib/opal/jquery/element.rb', line 338 alias_native :remove_class, :removeClass |
#replace_all(target) ⇒ Object
341 |
# File 'lib/opal/jquery/element.rb', line 341 alias_native :replace_all, :replaceAll |
#replace_with(new_content) ⇒ Object
344 |
# File 'lib/opal/jquery/element.rb', line 344 alias_native :replace_with, :replaceWith |
#respond_to_missing?(name, _) ⇒ Boolean
767 768 769 770 771 772 773 774 775 776 |
# File 'lib/opal/jquery/element.rb', line 767 def respond_to_missing?(name, _) %x{ var method = self[#{name}]; if (typeof(method) === 'function') { return true; } else { return #{super}; } } end |
#scroll_left ⇒ Object
376 |
# File 'lib/opal/jquery/element.rb', line 376 alias_native :scroll_left, :scrollLeft |
#scroll_left=(value) ⇒ Object
373 |
# File 'lib/opal/jquery/element.rb', line 373 alias_native :scroll_left=, :scrollLeft |
#scroll_top ⇒ Object
370 |
# File 'lib/opal/jquery/element.rb', line 370 alias_native :scroll_top, :scrollTop |
#scroll_top=(value) ⇒ Object
367 |
# File 'lib/opal/jquery/element.rb', line 367 alias_native :scroll_top=, :scrollTop |
#serialize ⇒ Object
253 |
# File 'lib/opal/jquery/element.rb', line 253 alias_native :serialize |
#serialize_array ⇒ Array<Hashes>
Serializes a form into an Array of Hash objects.
741 742 743 |
# File 'lib/opal/jquery/element.rb', line 741 def serialize_array `self.serializeArray()`.map { |e| Hash.new(e) } end |
#show(duration = 400) ⇒ Object
191 |
# File 'lib/opal/jquery/element.rb', line 191 alias_native :show |
#siblings(selector = nil) ⇒ Object
218 |
# File 'lib/opal/jquery/element.rb', line 218 alias_native :siblings |
#slide_down(duration = 400) ⇒ Object
382 |
# File 'lib/opal/jquery/element.rb', line 382 alias_native :slide_down, :slideDown |
#slide_toggle(duration = 400) ⇒ Object
388 |
# File 'lib/opal/jquery/element.rb', line 388 alias_native :slide_toggle, :slideToggle |
#slide_up(duration = 400) ⇒ Object
385 |
# File 'lib/opal/jquery/element.rb', line 385 alias_native :slide_up, :slideUp |
#stop ⇒ Object
Stop any currently running animations on element.
285 |
# File 'lib/opal/jquery/element.rb', line 285 alias_native :stop |
#submit ⇒ Object
347 |
# File 'lib/opal/jquery/element.rb', line 347 alias_native :submit |
#tag_name ⇒ Object
600 601 602 |
# File 'lib/opal/jquery/element.rb', line 600 def tag_name `self.length > 0 ? self[0].tagName.toLowerCase() : #{nil}` end |
#text(text = nil) ⇒ String
Get or set the text content of each element in this collection. Setting the content is provided as a compatibility method for jquery. Instead #text= should be used for setting text content.
If no text content is provided, then the text content of this element
will be returned.
232 |
# File 'lib/opal/jquery/element.rb', line 232 alias_native :text |
#text=(text) ⇒ Object
Set text content of each element in this collection.
358 |
# File 'lib/opal/jquery/element.rb', line 358 alias_native :text=, :text |
#to_n ⇒ Object
405 406 407 |
# File 'lib/opal/jquery/element.rb', line 405 def to_n self end |
#to_s ⇒ Object
627 628 629 630 631 632 633 634 635 636 637 638 639 |
# File 'lib/opal/jquery/element.rb', line 627 def to_s %x{ var val, el, result = []; for (var i = 0, length = self.length; i < length; i++) { el = self[i]; result.push(el.outerHTML) } return result.join(', '); } end |
#toggle(duration = 400) ⇒ Object
194 |
# File 'lib/opal/jquery/element.rb', line 194 alias_native :toggle |
#toggle_class ⇒ Object
361 |
# File 'lib/opal/jquery/element.rb', line 361 alias_native :toggle_class, :toggleClass |
#trigger(event) ⇒ Object
Trigger an event on this element. The given event specifies the event
type.
240 |
# File 'lib/opal/jquery/element.rb', line 240 alias_native :trigger |
#value ⇒ Object
747 748 749 |
# File 'lib/opal/jquery/element.rb', line 747 def value `self.val()` || "" end |
#value=(value) ⇒ Object
364 |
# File 'lib/opal/jquery/element.rb', line 364 alias_native :value=, :val |
#visible? ⇒ Boolean
552 553 554 |
# File 'lib/opal/jquery/element.rb', line 552 def visible? `self.is(':visible')` end |
#width ⇒ Object
755 756 757 |
# File 'lib/opal/jquery/element.rb', line 755 def width `self.width()` || nil end |
#width=(value) ⇒ Object
397 |
# File 'lib/opal/jquery/element.rb', line 397 alias_native :width=, :width |