Class: Element

Inherits:
Object
  • Object
show all
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).

bar = 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

Class Method Summary collapse

Instance Method Summary collapse

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

#selectorObject (readonly)

Returns The original css selector used to create Element.

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.

Parameters:

  • selector (String)

    css selector

Returns:



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.

Examples:

# Expose bootstraps jQuery `modal` function
Element.expose :modal

Element.find('.my-modal').modal

Parameters:

  • methods (String, Symbol)

    all methods to expose to ruby

Returns:

  • nil



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.

Parameters:

  • selector (String)

    css selector

Returns:



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.

Parameters:

  • id (String)

    dom element id

Returns:



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

.new(tag = 'div') ⇒ Element

Create a new dom element, wrapped as Element instance with the given tag name.

Parameters:

  • tag (String) (defaults to: 'div')

    valid html tag name

Returns:



101
102
103
# File 'lib/opal/jquery/element.rb', line 101

def self.new(tag = 'div')
  `$(document.createElement(tag))`
end

.parse(str) ⇒ Element

Parse a string of html content into an Element instance.

If no valid elements in string, then an empty collection will be returned.

Parameters:

  • str (String)

    html content to parse

Returns:



111
112
113
# File 'lib/opal/jquery/element.rb', line 111

def self.parse(str)
  `$.parseHTML ? $($.parseHTML(str)) : $(str)`
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.

Parameters:

  • content (String, Element)

    string or element to insert



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.

Returns:

  • (true, false)


651
652
653
# File 'lib/opal/jquery/element.rb', line 651

def any?
  `self.length > 0`
end

#append(content) ⇒ Object Also known as: <<

Parameters:



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_bodyObject



446
447
448
# File 'lib/opal/jquery/element.rb', line 446

def append_to_body
  `self.appendTo(document.body)`
end

#append_to_headObject



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.

Parameters:

  • index (Integer)

    index

Returns:



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.

Parameters:

  • content (String, Element)

    string or element to insert



151
# File 'lib/opal/jquery/element.rb', line 151

alias_native :before

#blurObject



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_nameString

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.

Returns:

  • (String)


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.

Parameters:

  • name (String)

    class name to set



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

#clickObject



350
# File 'lib/opal/jquery/element.rb', line 350

alias_native :click

#cloneElement

Clone all elements inside this collection, and return as a new instance.

Returns:



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

Yields:

  • (`$(self[i])`)


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

#emptyObject

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

#filter(selector) ⇒ Element

Parameters:

  • selector (String)

Returns:



262
# File 'lib/opal/jquery/element.rb', line 262

alias_native :filter

#find(selector) ⇒ Object



212
# File 'lib/opal/jquery/element.rb', line 212

alias_native :find

#firstObject



567
568
569
# File 'lib/opal/jquery/element.rb', line 567

def first
  `self.length ? self.first() : nil`
end

#focusObject



209
# File 'lib/opal/jquery/element.rb', line 209

alias_native :focus

#getObject



299
# File 'lib/opal/jquery/element.rb', line 299

alias_native :get

#has_attribute?(name) ⇒ Boolean

Returns:

  • (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

#heightObject



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.

Parameters:



326
# File 'lib/opal/jquery/element.rb', line 326

alias_native :html=, :html

#idObject



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

#inspectObject



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

Returns:

  • (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

#lastElement

Returns a new Element instance containing the last element in this current set.

Returns:



275
# File 'lib/opal/jquery/element.rb', line 275

alias_native :last

#lengthInteger Also known as: size

Returns the number of elements in this collection. May be zero.

Returns:

  • (Integer)


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

#not(selector) ⇒ Element

Parameters:

  • selector (String)

Returns:



267
# File 'lib/opal/jquery/element.rb', line 267

alias_native :not

#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

#offsetObject



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.

Parameters:

  • selector (String) (defaults to: nil)

    optional filter

Returns:



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.

Examples:

Without filtering collection

Element.find('#foo').parents
# => #<Element [<div id="wrapper">, <body>, <html>]>

Using a filter

Element.find('#foo').parents('div')
# => #<Element [<div id="wrapper">]

Parameters:

  • selector (String) (defaults to: nil)

    optional filter

Returns:



179
# File 'lib/opal/jquery/element.rb', line 179

alias_native :parents

#positionObject



759
760
761
# File 'lib/opal/jquery/element.rb', line 759

def position
  Native(`self.position()`)
end

#prepend(content) ⇒ Object

Parameters:



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

Returns:

  • (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_leftObject



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_topObject



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

#serializeObject



253
# File 'lib/opal/jquery/element.rb', line 253

alias_native :serialize

#serialize_arrayArray<Hashes>

Serializes a form into an Array of Hash objects.

Returns:

  • (Array<Hashes>)


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

#stopObject

Stop any currently running animations on element.



285
# File 'lib/opal/jquery/element.rb', line 285

alias_native :stop

#submitObject



347
# File 'lib/opal/jquery/element.rb', line 347

alias_native :submit

#tag_nameObject



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.

Parameters:

  • text (String) (defaults to: nil)

    text content to set

Returns:

  • (String)

See Also:



232
# File 'lib/opal/jquery/element.rb', line 232

alias_native :text

#text=(text) ⇒ Object

Set text content of each element in this collection.

Parameters:

  • text (String)

See Also:



358
# File 'lib/opal/jquery/element.rb', line 358

alias_native :text=, :text

#to_nObject



405
406
407
# File 'lib/opal/jquery/element.rb', line 405

def to_n
  self
end

#to_sObject



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_classObject



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.

Parameters:

  • event (String, Symbol)

    event type



240
# File 'lib/opal/jquery/element.rb', line 240

alias_native :trigger

#valueObject



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

Returns:

  • (Boolean)


552
553
554
# File 'lib/opal/jquery/element.rb', line 552

def visible?
  `self.is(':visible')`
end

#widthObject



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

#wrap(wrapper) ⇒ Element

Parameters:

  • wrapper (String, Element)

    html content, selector or element

Returns:



280
# File 'lib/opal/jquery/element.rb', line 280

alias_native :wrap