Deployed 1a4ec0e to 5.4 with MkDocs 1.1.2 and mike 0.5.5
[GitHub/WoltLab/woltlab.github.io.git] / 5.4 / javascript / helper-functions / index.html
CommitLineData
45ca63d0
TD
1
2<!doctype html>
3<html lang="en" class="no-js">
4 <head>
5
6 <meta charset="utf-8">
7 <meta name="viewport" content="width=device-width,initial-scale=1">
8
9
10
11
12 <link rel="shortcut icon" href="../../assets/default.favicon.ico">
13 <meta name="generator" content="mkdocs-1.1.2, mkdocs-material-7.0.3">
14
15
16
17 <title>Helper Functions - WoltLab Suite Documentation</title>
18
19
20
21 <link rel="stylesheet" href="../../assets/stylesheets/main.1655a90d.min.css">
22
23
24 <link rel="stylesheet" href="../../assets/stylesheets/palette.7fa14f5b.min.css">
25
26
27
28 <meta name="theme-color" content="#009485">
29
30
31
32
33
34
35
36
37 <link rel="stylesheet" href="../../stylesheets/extra.css">
38
39
40
41
42
43 </head>
44
45
46
47
48
49
50
51 <body dir="ltr" data-md-color-scheme="" data-md-color-primary="teal" data-md-color-accent="">
52
53
54
55 <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
56 <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
57 <label class="md-overlay" for="__drawer"></label>
58 <div data-md-component="skip">
59
60
61 <a href="#javascript-helper-functions" class="md-skip">
62 Skip to content
63 </a>
64
65 </div>
66 <div data-md-component="announce">
67
68 <aside class="md-announce">
69 <div class="md-announce__inner md-grid md-typeset">
70
71 <a href="https://www.woltlab.com">Back to <strong>woltlab.com</strong></a>
72
73 </div>
74 </aside>
75
76 </div>
77
78
79
80<header class="md-header" data-md-component="header">
81 <nav class="md-header__inner md-grid" aria-label="Header">
82 <a href="../.." title="WoltLab Suite Documentation" class="md-header__button md-logo" aria-label="WoltLab Suite Documentation">
83
84 <img src="../../assets/logo.png" alt="logo">
85
86 </a>
87 <label class="md-header__button md-icon" for="__drawer">
88 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2z"/></svg>
89 </label>
90 <div class="md-header__title" data-md-component="header-title">
91 <div class="md-header__ellipsis">
92 <div class="md-header__topic">
93 <span class="md-ellipsis">
94 WoltLab Suite Documentation
95 </span>
96 </div>
97 <div class="md-header__topic" data-md-component="header-topic">
98 <span class="md-ellipsis">
99
100 Helper Functions
101
102 </span>
103 </div>
104 </div>
105 </div>
106 <div class="md-header__options">
107
108 </div>
109
110 <label class="md-header__button md-icon" for="__search">
111 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
112 </label>
113
114<div class="md-search" data-md-component="search" role="dialog">
115 <label class="md-search__overlay" for="__search"></label>
116 <div class="md-search__inner" role="search">
117 <form class="md-search__form" name="search">
118 <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" data-md-state="active" required>
119 <label class="md-search__icon md-icon" for="__search">
120 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5z"/></svg>
121 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
122 </label>
123 <button type="reset" class="md-search__icon md-icon" aria-label="Clear" tabindex="-1">
124 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
125 </button>
126 </form>
127 <div class="md-search__output">
128 <div class="md-search__scrollwrap" data-md-scrollfix>
129 <div class="md-search-result" data-md-component="search-result">
130 <div class="md-search-result__meta">
131 Initializing search
132 </div>
133 <ol class="md-search-result__list"></ol>
134 </div>
135 </div>
136 </div>
137 </div>
138</div>
139
140
141 </nav>
142</header>
143
144 <div class="md-container" data-md-component="container">
145
146
147
148
149 <main class="md-main" data-md-component="main">
150 <div class="md-main__inner md-grid">
151
152
153
154 <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
155 <div class="md-sidebar__scrollwrap">
156 <div class="md-sidebar__inner">
157
158
159
160
161
162<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
163 <label class="md-nav__title" for="__drawer">
164 <a href="../.." title="WoltLab Suite Documentation" class="md-nav__button md-logo" aria-label="WoltLab Suite Documentation">
165
166 <img src="../../assets/logo.png" alt="logo">
167
168 </a>
169 WoltLab Suite Documentation
170 </label>
171
172 <ul class="md-nav__list" data-md-scrollfix>
173
174
175
176
177
178
179
180
181 <li class="md-nav__item">
182 <a href="../../getting-started/" class="md-nav__link">
183 Getting Started
184 </a>
185 </li>
186
187
188
189
190
191
192
193
194
195
196
197 <li class="md-nav__item md-nav__item--nested">
198
199
200 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2" type="checkbox" id="__nav_2" >
201
202 <label class="md-nav__link" for="__nav_2">
203 PHP API
204 <span class="md-nav__icon md-icon"></span>
205 </label>
206 <nav class="md-nav" aria-label="PHP API" data-md-level="1">
207 <label class="md-nav__title" for="__nav_2">
208 <span class="md-nav__icon md-icon"></span>
209 PHP API
210 </label>
211 <ul class="md-nav__list" data-md-scrollfix>
212
213
214
215
216
217 <li class="md-nav__item">
218 <a href="../../php/pages/" class="md-nav__link">
219 Pages
220 </a>
221 </li>
222
223
224
225
226
227
228
229 <li class="md-nav__item">
230 <a href="../../php/database-objects/" class="md-nav__link">
231 Database Objects
232 </a>
233 </li>
234
235
236
237
238
239
240
241 <li class="md-nav__item">
242 <a href="../../php/database-access/" class="md-nav__link">
243 Database Access
244 </a>
245 </li>
246
247
248
249
250
251
252
253 <li class="md-nav__item">
254 <a href="../../php/exceptions/" class="md-nav__link">
255 Exceptions
256 </a>
257 </li>
258
259
260
261
262
263
264
265
266 <li class="md-nav__item md-nav__item--nested">
267
268
269 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5" type="checkbox" id="__nav_2_5" >
270
271 <label class="md-nav__link" for="__nav_2_5">
272 API
273 <span class="md-nav__icon md-icon"></span>
274 </label>
275 <nav class="md-nav" aria-label="API" data-md-level="2">
276 <label class="md-nav__title" for="__nav_2_5">
277 <span class="md-nav__icon md-icon"></span>
278 API
279 </label>
280 <ul class="md-nav__list" data-md-scrollfix>
281
282
283
284
285
286 <li class="md-nav__item">
287 <a href="../../php/api/caches/" class="md-nav__link">
288 Caches
289 </a>
290 </li>
291
292
293
294
295
296
297
298 <li class="md-nav__item">
299 <a href="../../php/api/comments/" class="md-nav__link">
300 Comments
301 </a>
302 </li>
303
304
305
306
307
308
309
310 <li class="md-nav__item">
311 <a href="../../php/api/cronjobs/" class="md-nav__link">
312 Cronjobs
313 </a>
314 </li>
315
316
317
318
319
320
321
322 <li class="md-nav__item">
323 <a href="../../php/api/events/" class="md-nav__link">
324 Events
325 </a>
326 </li>
327
328
329
330
331
332
333
334
335 <li class="md-nav__item md-nav__item--nested">
336
337
338 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_2_5_5" type="checkbox" id="__nav_2_5_5" >
339
340 <label class="md-nav__link" for="__nav_2_5_5">
341 Form Builder
342 <span class="md-nav__icon md-icon"></span>
343 </label>
344 <nav class="md-nav" aria-label="Form Builder" data-md-level="3">
345 <label class="md-nav__title" for="__nav_2_5_5">
346 <span class="md-nav__icon md-icon"></span>
347 Form Builder
348 </label>
349 <ul class="md-nav__list" data-md-scrollfix>
350
351
352
353
354
355 <li class="md-nav__item">
356 <a href="../../php/api/form_builder/overview/" class="md-nav__link">
357 Overview
358 </a>
359 </li>
360
361
362
363
364
365
366
367 <li class="md-nav__item">
368 <a href="../../php/api/form_builder/structure/" class="md-nav__link">
369 Structure
370 </a>
371 </li>
372
373
374
375
376
377
378
379 <li class="md-nav__item">
380 <a href="../../php/api/form_builder/form_fields/" class="md-nav__link">
381 Fields
382 </a>
383 </li>
384
385
386
387
388
389
390
391 <li class="md-nav__item">
392 <a href="../../php/api/form_builder/validation_data/" class="md-nav__link">
393 Validation and Data
394 </a>
395 </li>
396
397
398
399
400
401
402
403 <li class="md-nav__item">
404 <a href="../../php/api/form_builder/dependencies/" class="md-nav__link">
405 Dependencies
406 </a>
407 </li>
408
409
410
411 </ul>
412 </nav>
413 </li>
414
415
416
417
418
419
420
421 <li class="md-nav__item">
422 <a href="../../php/api/package_installation_plugins/" class="md-nav__link">
423 Package Installation Plugins
424 </a>
425 </li>
426
427
428
429
430
431
432
433 <li class="md-nav__item">
434 <a href="../../php/api/user_activity_points/" class="md-nav__link">
435 User Activity Points
436 </a>
437 </li>
438
439
440
441
442
443
444
445 <li class="md-nav__item">
446 <a href="../../php/api/user_notifications/" class="md-nav__link">
447 User Notifications
448 </a>
449 </li>
450
451
452
453
454
455
456
457 <li class="md-nav__item">
458 <a href="../../php/api/sitemaps/" class="md-nav__link">
459 Sitemaps
460 </a>
461 </li>
462
463
464
465 </ul>
466 </nav>
467 </li>
468
469
470
471
472
473
474
475 <li class="md-nav__item">
476 <a href="../../php/code-style/" class="md-nav__link">
477 Code Style
478 </a>
479 </li>
480
481
482
483
484
485
486
487 <li class="md-nav__item">
488 <a href="../../php/apps/" class="md-nav__link">
489 Apps
490 </a>
491 </li>
492
493
494
495
496
497
498
499 <li class="md-nav__item">
500 <a href="../../php/gdpr/" class="md-nav__link">
501 GDPR
502 </a>
503 </li>
504
505
506
507 </ul>
508 </nav>
509 </li>
510
511
512
513
514
515
516
517
518
519
520
521 <li class="md-nav__item md-nav__item--nested">
522
523
524 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_3" type="checkbox" id="__nav_3" >
525
526 <label class="md-nav__link" for="__nav_3">
527 Languages, Templates & CSS
528 <span class="md-nav__icon md-icon"></span>
529 </label>
530 <nav class="md-nav" aria-label="Languages, Templates & CSS" data-md-level="1">
531 <label class="md-nav__title" for="__nav_3">
532 <span class="md-nav__icon md-icon"></span>
533 Languages, Templates & CSS
534 </label>
535 <ul class="md-nav__list" data-md-scrollfix>
536
537
538
539
540
541 <li class="md-nav__item">
542 <a href="../../view/languages/" class="md-nav__link">
543 Languages
544 </a>
545 </li>
546
547
548
549
550
551
552
553 <li class="md-nav__item">
554 <a href="../../view/templates/" class="md-nav__link">
555 Templates
556 </a>
557 </li>
558
559
560
561
562
563
564
565 <li class="md-nav__item">
566 <a href="../../view/css/" class="md-nav__link">
567 CSS
568 </a>
569 </li>
570
571
572
573 </ul>
574 </nav>
575 </li>
576
577
578
579
580
581
582
583
584
585
586
587
588
589 <li class="md-nav__item md-nav__item--active md-nav__item--nested">
590
591
592 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4" type="checkbox" id="__nav_4" checked>
593
594 <label class="md-nav__link" for="__nav_4">
595 JavaScript API
596 <span class="md-nav__icon md-icon"></span>
597 </label>
598 <nav class="md-nav" aria-label="JavaScript API" data-md-level="1">
599 <label class="md-nav__title" for="__nav_4">
600 <span class="md-nav__icon md-icon"></span>
601 JavaScript API
602 </label>
603 <ul class="md-nav__list" data-md-scrollfix>
604
605
606
607
608
609 <li class="md-nav__item">
610 <a href="../general-usage/" class="md-nav__link">
611 General Usage
612 </a>
613 </li>
614
615
616
617
618
619
620
621
622 <li class="md-nav__item md-nav__item--nested">
623
624
625 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_4_2" type="checkbox" id="__nav_4_2" >
626
627 <label class="md-nav__link" for="__nav_4_2">
628 New API
629 <span class="md-nav__icon md-icon"></span>
630 </label>
631 <nav class="md-nav" aria-label="New API" data-md-level="2">
632 <label class="md-nav__title" for="__nav_4_2">
633 <span class="md-nav__icon md-icon"></span>
634 New API
635 </label>
636 <ul class="md-nav__list" data-md-scrollfix>
637
638
639
640
641
642 <li class="md-nav__item">
643 <a href="../new-api_writing-a-module/" class="md-nav__link">
644 Writing a module
645 </a>
646 </li>
647
648
649
650
651
652
653
654 <li class="md-nav__item">
655 <a href="../new-api_data-structures/" class="md-nav__link">
656 Data Structures
657 </a>
658 </li>
659
660
661
662
663
664
665
666 <li class="md-nav__item">
667 <a href="../new-api_core/" class="md-nav__link">
668 Core Functions
669 </a>
670 </li>
671
672
673
674
675
676
677
678 <li class="md-nav__item">
679 <a href="../new-api_dom/" class="md-nav__link">
680 DOM
681 </a>
682 </li>
683
684
685
686
687
688
689
690 <li class="md-nav__item">
691 <a href="../new-api_events/" class="md-nav__link">
692 Event Handling
693 </a>
694 </li>
695
696
697
698
699
700
701
702 <li class="md-nav__item">
703 <a href="../new-api_ajax/" class="md-nav__link">
704 Ajax
705 </a>
706 </li>
707
708
709
710
711
712
713
714 <li class="md-nav__item">
715 <a href="../new-api_dialogs/" class="md-nav__link">
716 Dialogs
717 </a>
718 </li>
719
720
721
722
723
724
725
726 <li class="md-nav__item">
727 <a href="../new-api_browser/" class="md-nav__link">
728 Browser and Screen Sizes
729 </a>
730 </li>
731
732
733
734
735
736
737
738 <li class="md-nav__item">
739 <a href="../new-api_ui/" class="md-nav__link">
740 User Interface
741 </a>
742 </li>
743
744
745
746 </ul>
747 </nav>
748 </li>
749
750
751
752
753
754
755
756 <li class="md-nav__item">
757 <a href="../legacy-api/" class="md-nav__link">
758 Legacy API
759 </a>
760 </li>
761
762
763
764
765
766
767
768
769
770 <li class="md-nav__item md-nav__item--active">
771
772 <input class="md-nav__toggle md-toggle" data-md-toggle="toc" type="checkbox" id="__toc">
773
774
775
776
777 <label class="md-nav__link md-nav__link--active" for="__toc">
778 Helper Functions
779 <span class="md-nav__icon md-icon"></span>
780 </label>
781
782 <a href="./" class="md-nav__link md-nav__link--active">
783 Helper Functions
784 </a>
785
786
787<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
788
789
790
791
792
793 <label class="md-nav__title" for="__toc">
794 <span class="md-nav__icon md-icon"></span>
795 Table of contents
796 </label>
797 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
798
799 <li class="md-nav__item">
800 <a href="#introduction" class="md-nav__link">
801 Introduction
802 </a>
803
804</li>
805
806 <li class="md-nav__item">
807 <a href="#elements" class="md-nav__link">
808 Elements
809 </a>
810
811 <nav class="md-nav" aria-label="Elements">
812 <ul class="md-nav__list">
813
814 <li class="md-nav__item">
815 <a href="#elcreatetagname-string-element" class="md-nav__link">
816 elCreate(tagName: string): Element
817 </a>
818
819</li>
820
821 <li class="md-nav__item">
822 <a href="#elremoveelement-element" class="md-nav__link">
823 elRemove(element: Element)
824 </a>
825
826</li>
827
828 <li class="md-nav__item">
829 <a href="#elshowelement-element" class="md-nav__link">
830 elShow(element: Element)
831 </a>
832
833</li>
834
835 <li class="md-nav__item">
836 <a href="#elhideelement-element" class="md-nav__link">
837 elHide(element: Element)
838 </a>
839
840</li>
841
842 <li class="md-nav__item">
843 <a href="#eltoggleelement-element" class="md-nav__link">
844 elToggle(element: Element)
845 </a>
846
847</li>
848
849 </ul>
850 </nav>
851
852</li>
853
854 <li class="md-nav__item">
855 <a href="#attributes" class="md-nav__link">
856 Attributes
857 </a>
858
859 <nav class="md-nav" aria-label="Attributes">
860 <ul class="md-nav__list">
861
862 <li class="md-nav__item">
863 <a href="#elattrelement-element-attribute-string-value-string-string" class="md-nav__link">
864 elAttr(element: Element, attribute: string, value?: string): string
865 </a>
866
867</li>
868
869 <li class="md-nav__item">
870 <a href="#elattrboolelement-element-attribute-string-boolean" class="md-nav__link">
871 elAttrBool(element: Element, attribute: string): boolean
872 </a>
873
874</li>
875
876 <li class="md-nav__item">
877 <a href="#eldataelement-element-attribute-string-value-string-string" class="md-nav__link">
878 elData(element: Element, attribute: string, value?: string): string
879 </a>
880
881</li>
882
883 <li class="md-nav__item">
884 <a href="#eldataboolelement-element-attribute-string-boolean" class="md-nav__link">
885 elDataBool(element: Element, attribute: string): boolean
886 </a>
887
888</li>
889
890 </ul>
891 </nav>
892
893</li>
894
895 <li class="md-nav__item">
896 <a href="#selecting-elements" class="md-nav__link">
897 Selecting Elements
898 </a>
899
900 <nav class="md-nav" aria-label="Selecting Elements">
901 <ul class="md-nav__list">
902
903 <li class="md-nav__item">
904 <a href="#elbyidid-string-element-null" class="md-nav__link">
905 elById(id: string): Element | null
906 </a>
907
908</li>
909
910 <li class="md-nav__item">
911 <a href="#elbyselselector-string-context-element-element-null" class="md-nav__link">
912 elBySel(selector: string, context?: Element): Element | null
913 </a>
914
915</li>
916
917 <li class="md-nav__item">
918 <a href="#elbyselallselector-string-context-element-callback-element-element-void-nodelist" class="md-nav__link">
919 elBySelAll(selector: string, context?: Element, callback: (element: Element) =&gt; void): NodeList
920 </a>
921
922 <nav class="md-nav" aria-label="elBySelAll(selector: string, context?: Element, callback: (element: Element) =&gt; void): NodeList">
923 <ul class="md-nav__list">
924
925 <li class="md-nav__item">
926 <a href="#callback-to-iterate-over-elements" class="md-nav__link">
927 Callback to Iterate Over Elements
928 </a>
929
930</li>
931
932 </ul>
933 </nav>
934
935</li>
936
937 <li class="md-nav__item">
938 <a href="#elclosestelement-element-selector-string-element-null" class="md-nav__link">
939 elClosest(element: Element, selector: string): Element | null
940 </a>
941
942 <nav class="md-nav" aria-label="elClosest(element: Element, selector: string): Element | null">
943 <ul class="md-nav__list">
944
945 <li class="md-nav__item">
946 <a href="#text-nodes" class="md-nav__link">
947 Text Nodes
948 </a>
949
950</li>
951
952 </ul>
953 </nav>
954
955</li>
956
957 <li class="md-nav__item">
958 <a href="#elbyclassclassname-string-context-element-nodelist" class="md-nav__link">
959 elByClass(className: string, context?: Element): NodeList
960 </a>
961
962</li>
963
964 <li class="md-nav__item">
965 <a href="#elbytagtagname-string-context-element-nodelist" class="md-nav__link">
966 elByTag(tagName: string, context?: Element): NodeList
967 </a>
968
969</li>
970
971 </ul>
972 </nav>
973
974</li>
975
976 <li class="md-nav__item">
977 <a href="#utility-functions" class="md-nav__link">
978 Utility Functions
979 </a>
980
981 <nav class="md-nav" aria-label="Utility Functions">
982 <ul class="md-nav__list">
983
984 <li class="md-nav__item">
985 <a href="#elinnererrorelement-element-errormessage-string-ishtml-boolean-element-null" class="md-nav__link">
986 `elInnerError(element: Element, errorMessage?: string, isHtml?: boolean): Element | null``
987 </a>
988
989</li>
990
991 </ul>
992 </nav>
993
994</li>
995
996 <li class="md-nav__item">
997 <a href="#string-extensions" class="md-nav__link">
998 String Extensions
999 </a>
1000
1001 <nav class="md-nav" aria-label="String Extensions">
1002 <ul class="md-nav__list">
1003
1004 <li class="md-nav__item">
1005 <a href="#hashcode-string" class="md-nav__link">
1006 hashCode(): string
1007 </a>
1008
1009</li>
1010
1011 </ul>
1012 </nav>
1013
1014</li>
1015
1016 </ul>
1017
1018</nav>
1019
1020 </li>
1021
1022
1023
1024
1025
1026
1027
1028 <li class="md-nav__item">
1029 <a href="../code-snippets/" class="md-nav__link">
1030 Code Snippets
1031 </a>
1032 </li>
1033
1034
1035
1036 </ul>
1037 </nav>
1038 </li>
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050 <li class="md-nav__item md-nav__item--nested">
1051
1052
1053 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5" type="checkbox" id="__nav_5" >
1054
1055 <label class="md-nav__link" for="__nav_5">
1056 Package Components
1057 <span class="md-nav__icon md-icon"></span>
1058 </label>
1059 <nav class="md-nav" aria-label="Package Components" data-md-level="1">
1060 <label class="md-nav__title" for="__nav_5">
1061 <span class="md-nav__icon md-icon"></span>
1062 Package Components
1063 </label>
1064 <ul class="md-nav__list" data-md-scrollfix>
1065
1066
1067
1068
1069
1070 <li class="md-nav__item">
1071 <a href="../../package/package-xml/" class="md-nav__link">
1072 package.xml
1073 </a>
1074 </li>
1075
1076
1077
1078
1079
1080
1081
1082
1083 <li class="md-nav__item md-nav__item--nested">
1084
1085
1086 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_5_2" type="checkbox" id="__nav_5_2" >
1087
1088 <label class="md-nav__link" for="__nav_5_2">
1089 PIPs
1090 <span class="md-nav__icon md-icon"></span>
1091 </label>
1092 <nav class="md-nav" aria-label="PIPs" data-md-level="2">
1093 <label class="md-nav__title" for="__nav_5_2">
1094 <span class="md-nav__icon md-icon"></span>
1095 PIPs
1096 </label>
1097 <ul class="md-nav__list" data-md-scrollfix>
1098
1099
1100
1101
1102
1103 <li class="md-nav__item">
1104 <a href="../../package/pip/" class="md-nav__link">
1105 Overview
1106 </a>
1107 </li>
1108
1109
1110
1111
1112
1113
1114
1115 <li class="md-nav__item">
1116 <a href="../../package/pip/acl-option/" class="md-nav__link">
1117 aclOption
1118 </a>
1119 </li>
1120
1121
1122
1123
1124
1125
1126
1127 <li class="md-nav__item">
1128 <a href="../../package/pip/acp-menu/" class="md-nav__link">
1129 acpMenu
1130 </a>
1131 </li>
1132
1133
1134
1135
1136
1137
1138
1139 <li class="md-nav__item">
1140 <a href="../../package/pip/acp-search-provider/" class="md-nav__link">
1141 acpSearchProvider
1142 </a>
1143 </li>
1144
1145
1146
1147
1148
1149
1150
1151 <li class="md-nav__item">
1152 <a href="../../package/pip/acp-template/" class="md-nav__link">
1153 acpTemplate
1154 </a>
1155 </li>
1156
1157
1158
1159
1160
1161
1162
1163 <li class="md-nav__item">
1164 <a href="../../package/pip/bbcode/" class="md-nav__link">
1165 bbcode
1166 </a>
1167 </li>
1168
1169
1170
1171
1172
1173
1174
1175 <li class="md-nav__item">
1176 <a href="../../package/pip/box/" class="md-nav__link">
1177 box
1178 </a>
1179 </li>
1180
1181
1182
1183
1184
1185
1186
1187 <li class="md-nav__item">
1188 <a href="../../package/pip/clipboard-action/" class="md-nav__link">
1189 clipboardAction
1190 </a>
1191 </li>
1192
1193
1194
1195
1196
1197
1198
1199 <li class="md-nav__item">
1200 <a href="../../package/pip/core-object/" class="md-nav__link">
1201 coreObject
1202 </a>
1203 </li>
1204
1205
1206
1207
1208
1209
1210
1211 <li class="md-nav__item">
1212 <a href="../../package/pip/cronjob/" class="md-nav__link">
1213 cronjob
1214 </a>
1215 </li>
1216
1217
1218
1219
1220
1221
1222
1223 <li class="md-nav__item">
1224 <a href="../../package/pip/event-listener/" class="md-nav__link">
1225 eventListener
1226 </a>
1227 </li>
1228
1229
1230
1231
1232
1233
1234
1235 <li class="md-nav__item">
1236 <a href="../../package/pip/file/" class="md-nav__link">
1237 file
1238 </a>
1239 </li>
1240
1241
1242
1243
1244
1245
1246
1247 <li class="md-nav__item">
1248 <a href="../../package/pip/language/" class="md-nav__link">
1249 language
1250 </a>
1251 </li>
1252
1253
1254
1255
1256
1257
1258
1259 <li class="md-nav__item">
1260 <a href="../../package/pip/media-provider/" class="md-nav__link">
1261 mediaProvider
1262 </a>
1263 </li>
1264
1265
1266
1267
1268
1269
1270
1271 <li class="md-nav__item">
1272 <a href="../../package/pip/menu/" class="md-nav__link">
1273 menu
1274 </a>
1275 </li>
1276
1277
1278
1279
1280
1281
1282
1283 <li class="md-nav__item">
1284 <a href="../../package/pip/menu-item/" class="md-nav__link">
1285 menuItem
1286 </a>
1287 </li>
1288
1289
1290
1291
1292
1293
1294
1295 <li class="md-nav__item">
1296 <a href="../../package/pip/object-type/" class="md-nav__link">
1297 objectType
1298 </a>
1299 </li>
1300
1301
1302
1303
1304
1305
1306
1307 <li class="md-nav__item">
1308 <a href="../../package/pip/object-type-definition/" class="md-nav__link">
1309 objectTypeDefinition
1310 </a>
1311 </li>
1312
1313
1314
1315
1316
1317
1318
1319 <li class="md-nav__item">
1320 <a href="../../package/pip/option/" class="md-nav__link">
1321 option
1322 </a>
1323 </li>
1324
1325
1326
1327
1328
1329
1330
1331 <li class="md-nav__item">
1332 <a href="../../package/pip/page/" class="md-nav__link">
1333 page
1334 </a>
1335 </li>
1336
1337
1338
1339
1340
1341
1342
1343 <li class="md-nav__item">
1344 <a href="../../package/pip/pip/" class="md-nav__link">
1345 pip
1346 </a>
1347 </li>
1348
1349
1350
1351
1352
1353
1354
1355 <li class="md-nav__item">
1356 <a href="../../package/pip/script/" class="md-nav__link">
1357 script
1358 </a>
1359 </li>
1360
1361
1362
1363
1364
1365
1366
1367 <li class="md-nav__item">
1368 <a href="../../package/pip/smiley/" class="md-nav__link">
1369 smiley
1370 </a>
1371 </li>
1372
1373
1374
1375
1376
1377
1378
1379 <li class="md-nav__item">
1380 <a href="../../package/pip/sql/" class="md-nav__link">
1381 sql
1382 </a>
1383 </li>
1384
1385
1386
1387
1388
1389
1390
1391 <li class="md-nav__item">
1392 <a href="../../package/pip/style/" class="md-nav__link">
1393 style
1394 </a>
1395 </li>
1396
1397
1398
1399
1400
1401
1402
1403 <li class="md-nav__item">
1404 <a href="../../package/pip/template/" class="md-nav__link">
1405 template
1406 </a>
1407 </li>
1408
1409
1410
1411
1412
1413
1414
1415 <li class="md-nav__item">
1416 <a href="../../package/pip/template-listener/" class="md-nav__link">
1417 templateListener
1418 </a>
1419 </li>
1420
1421
1422
1423
1424
1425
1426
1427 <li class="md-nav__item">
1428 <a href="../../package/pip/user-group-option/" class="md-nav__link">
1429 userGroupOption
1430 </a>
1431 </li>
1432
1433
1434
1435
1436
1437
1438
1439 <li class="md-nav__item">
1440 <a href="../../package/pip/user-menu/" class="md-nav__link">
1441 userMenu
1442 </a>
1443 </li>
1444
1445
1446
1447
1448
1449
1450
1451 <li class="md-nav__item">
1452 <a href="../../package/pip/user-notification-event/" class="md-nav__link">
1453 userNotificationEvent
1454 </a>
1455 </li>
1456
1457
1458
1459
1460
1461
1462
1463 <li class="md-nav__item">
1464 <a href="../../package/pip/user-option/" class="md-nav__link">
1465 userOption
1466 </a>
1467 </li>
1468
1469
1470
1471
1472
1473
1474
1475 <li class="md-nav__item">
1476 <a href="../../package/pip/user-profile-menu/" class="md-nav__link">
1477 userProfileMenu
1478 </a>
1479 </li>
1480
1481
1482
1483 </ul>
1484 </nav>
1485 </li>
1486
1487
1488
1489
1490
1491
1492
1493 <li class="md-nav__item">
1494 <a href="../../package/database-php-api/" class="md-nav__link">
1495 Database PHP API
1496 </a>
1497 </li>
1498
1499
1500
1501 </ul>
1502 </nav>
1503 </li>
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515 <li class="md-nav__item md-nav__item--nested">
1516
1517
1518 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6" type="checkbox" id="__nav_6" >
1519
1520 <label class="md-nav__link" for="__nav_6">
1521 Migration
1522 <span class="md-nav__icon md-icon"></span>
1523 </label>
1524 <nav class="md-nav" aria-label="Migration" data-md-level="1">
1525 <label class="md-nav__title" for="__nav_6">
1526 <span class="md-nav__icon md-icon"></span>
1527 Migration
1528 </label>
1529 <ul class="md-nav__list" data-md-scrollfix>
1530
1531
1532
1533
1534
1535
1536 <li class="md-nav__item md-nav__item--nested">
1537
1538
1539 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_1" type="checkbox" id="__nav_6_1" >
1540
1541 <label class="md-nav__link" for="__nav_6_1">
1542 Migrating from WSC 5.3
1543 <span class="md-nav__icon md-icon"></span>
1544 </label>
1545 <nav class="md-nav" aria-label="Migrating from WSC 5.3" data-md-level="2">
1546 <label class="md-nav__title" for="__nav_6_1">
1547 <span class="md-nav__icon md-icon"></span>
1548 Migrating from WSC 5.3
1549 </label>
1550 <ul class="md-nav__list" data-md-scrollfix>
1551
1552
1553
1554
1555
1556 <li class="md-nav__item">
1557 <a href="../../migration/wsc53/php/" class="md-nav__link">
1558 PHP API
1559 </a>
1560 </li>
1561
1562
1563
1564
1565
1566
1567
1568 <li class="md-nav__item">
1569 <a href="../../migration/wsc53/session/" class="md-nav__link">
1570 Session Handling and Authentication
1571 </a>
1572 </li>
1573
1574
1575
1576
1577
1578
1579
1580 <li class="md-nav__item">
1581 <a href="../../migration/wsc53/javascript/" class="md-nav__link">
1582 JavaScript
1583 </a>
1584 </li>
1585
1586
1587
1588
1589
1590
1591
1592 <li class="md-nav__item">
1593 <a href="../../migration/wsc53/templates/" class="md-nav__link">
1594 Templates
1595 </a>
1596 </li>
1597
1598
1599
1600
1601
1602
1603
1604 <li class="md-nav__item">
1605 <a href="../../migration/wsc53/libraries/" class="md-nav__link">
1606 Third Party Libraries
1607 </a>
1608 </li>
1609
1610
1611
1612 </ul>
1613 </nav>
1614 </li>
1615
1616
1617
1618
1619
1620
1621
1622
1623 <li class="md-nav__item md-nav__item--nested">
1624
1625
1626 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_2" type="checkbox" id="__nav_6_2" >
1627
1628 <label class="md-nav__link" for="__nav_6_2">
1629 Migrating from WSC 5.2
1630 <span class="md-nav__icon md-icon"></span>
1631 </label>
1632 <nav class="md-nav" aria-label="Migrating from WSC 5.2" data-md-level="2">
1633 <label class="md-nav__title" for="__nav_6_2">
1634 <span class="md-nav__icon md-icon"></span>
1635 Migrating from WSC 5.2
1636 </label>
1637 <ul class="md-nav__list" data-md-scrollfix>
1638
1639
1640
1641
1642
1643 <li class="md-nav__item">
1644 <a href="../../migration/wsc52/php/" class="md-nav__link">
1645 PHP API
1646 </a>
1647 </li>
1648
1649
1650
1651
1652
1653
1654
1655 <li class="md-nav__item">
1656 <a href="../../migration/wsc52/templates/" class="md-nav__link">
1657 Templates and Languages
1658 </a>
1659 </li>
1660
1661
1662
1663
1664
1665
1666
1667 <li class="md-nav__item">
1668 <a href="../../migration/wsc52/libraries/" class="md-nav__link">
1669 Third Party Libraries
1670 </a>
1671 </li>
1672
1673
1674
1675 </ul>
1676 </nav>
1677 </li>
1678
1679
1680
1681
1682
1683
1684
1685
1686 <li class="md-nav__item md-nav__item--nested">
1687
1688
1689 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_3" type="checkbox" id="__nav_6_3" >
1690
1691 <label class="md-nav__link" for="__nav_6_3">
1692 Migrating from WSC 3.1
1693 <span class="md-nav__icon md-icon"></span>
1694 </label>
1695 <nav class="md-nav" aria-label="Migrating from WSC 3.1" data-md-level="2">
1696 <label class="md-nav__title" for="__nav_6_3">
1697 <span class="md-nav__icon md-icon"></span>
1698 Migrating from WSC 3.1
1699 </label>
1700 <ul class="md-nav__list" data-md-scrollfix>
1701
1702
1703
1704
1705
1706 <li class="md-nav__item">
1707 <a href="../../migration/wsc31/php/" class="md-nav__link">
1708 PHP API
1709 </a>
1710 </li>
1711
1712
1713
1714 </ul>
1715 </nav>
1716 </li>
1717
1718
1719
1720
1721
1722
1723
1724
1725 <li class="md-nav__item md-nav__item--nested">
1726
1727
1728 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_4" type="checkbox" id="__nav_6_4" >
1729
1730 <label class="md-nav__link" for="__nav_6_4">
1731 Migrating from WSC 3.0
1732 <span class="md-nav__icon md-icon"></span>
1733 </label>
1734 <nav class="md-nav" aria-label="Migrating from WSC 3.0" data-md-level="2">
1735 <label class="md-nav__title" for="__nav_6_4">
1736 <span class="md-nav__icon md-icon"></span>
1737 Migrating from WSC 3.0
1738 </label>
1739 <ul class="md-nav__list" data-md-scrollfix>
1740
1741
1742
1743
1744
1745 <li class="md-nav__item">
1746 <a href="../../migration/wsc30/php/" class="md-nav__link">
1747 PHP API
1748 </a>
1749 </li>
1750
1751
1752
1753
1754
1755
1756
1757 <li class="md-nav__item">
1758 <a href="../../migration/wsc30/javascript/" class="md-nav__link">
1759 JavaScript API
1760 </a>
1761 </li>
1762
1763
1764
1765
1766
1767
1768
1769 <li class="md-nav__item">
1770 <a href="../../migration/wsc30/templates/" class="md-nav__link">
1771 Templates
1772 </a>
1773 </li>
1774
1775
1776
1777
1778
1779
1780
1781 <li class="md-nav__item">
1782 <a href="../../migration/wsc30/css/" class="md-nav__link">
1783 CSS
1784 </a>
1785 </li>
1786
1787
1788
1789
1790
1791
1792
1793 <li class="md-nav__item">
1794 <a href="../../migration/wsc30/package/" class="md-nav__link">
1795 Package Components
1796 </a>
1797 </li>
1798
1799
1800
1801 </ul>
1802 </nav>
1803 </li>
1804
1805
1806
1807
1808
1809
1810
1811
1812 <li class="md-nav__item md-nav__item--nested">
1813
1814
1815 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_6_5" type="checkbox" id="__nav_6_5" >
1816
1817 <label class="md-nav__link" for="__nav_6_5">
1818 Migrating from WCF 2.1
1819 <span class="md-nav__icon md-icon"></span>
1820 </label>
1821 <nav class="md-nav" aria-label="Migrating from WCF 2.1" data-md-level="2">
1822 <label class="md-nav__title" for="__nav_6_5">
1823 <span class="md-nav__icon md-icon"></span>
1824 Migrating from WCF 2.1
1825 </label>
1826 <ul class="md-nav__list" data-md-scrollfix>
1827
1828
1829
1830
1831
1832 <li class="md-nav__item">
1833 <a href="../../migration/wcf21/php/" class="md-nav__link">
1834 PHP API
1835 </a>
1836 </li>
1837
1838
1839
1840
1841
1842
1843
1844 <li class="md-nav__item">
1845 <a href="../../migration/wcf21/templates/" class="md-nav__link">
1846 Templates
1847 </a>
1848 </li>
1849
1850
1851
1852
1853
1854
1855
1856 <li class="md-nav__item">
1857 <a href="../../migration/wcf21/css/" class="md-nav__link">
1858 CSS
1859 </a>
1860 </li>
1861
1862
1863
1864
1865
1866
1867
1868 <li class="md-nav__item">
1869 <a href="../../migration/wcf21/package/" class="md-nav__link">
1870 Package Components
1871 </a>
1872 </li>
1873
1874
1875
1876 </ul>
1877 </nav>
1878 </li>
1879
1880
1881
1882 </ul>
1883 </nav>
1884 </li>
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896 <li class="md-nav__item md-nav__item--nested">
1897
1898
1899 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7" type="checkbox" id="__nav_7" >
1900
1901 <label class="md-nav__link" for="__nav_7">
1902 Tutorials
1903 <span class="md-nav__icon md-icon"></span>
1904 </label>
1905 <nav class="md-nav" aria-label="Tutorials" data-md-level="1">
1906 <label class="md-nav__title" for="__nav_7">
1907 <span class="md-nav__icon md-icon"></span>
1908 Tutorials
1909 </label>
1910 <ul class="md-nav__list" data-md-scrollfix>
1911
1912
1913
1914
1915
1916
1917 <li class="md-nav__item md-nav__item--nested">
1918
1919
1920 <input class="md-nav__toggle md-toggle" data-md-toggle="__nav_7_1" type="checkbox" id="__nav_7_1" >
1921
1922 <label class="md-nav__link" for="__nav_7_1">
1923 Tutorial Series
1924 <span class="md-nav__icon md-icon"></span>
1925 </label>
1926 <nav class="md-nav" aria-label="Tutorial Series" data-md-level="2">
1927 <label class="md-nav__title" for="__nav_7_1">
1928 <span class="md-nav__icon md-icon"></span>
1929 Tutorial Series
1930 </label>
1931 <ul class="md-nav__list" data-md-scrollfix>
1932
1933
1934
1935
1936
1937 <li class="md-nav__item">
1938 <a href="../../tutorial/series/overview/" class="md-nav__link">
1939 Overview
1940 </a>
1941 </li>
1942
1943
1944
1945
1946
1947
1948
1949 <li class="md-nav__item">
1950 <a href="../../tutorial/series/part_1/" class="md-nav__link">
1951 Part 1
1952 </a>
1953 </li>
1954
1955
1956
1957
1958
1959
1960
1961 <li class="md-nav__item">
1962 <a href="../../tutorial/series/part_2/" class="md-nav__link">
1963 Part 2
1964 </a>
1965 </li>
1966
1967
1968
1969
1970
1971
1972
1973 <li class="md-nav__item">
1974 <a href="../../tutorial/series/part_3/" class="md-nav__link">
1975 Part 3
1976 </a>
1977 </li>
1978
1979
1980
1981 </ul>
1982 </nav>
1983 </li>
1984
1985
1986
1987 </ul>
1988 </nav>
1989 </li>
1990
1991
1992
1993 </ul>
1994</nav>
1995 </div>
1996 </div>
1997 </div>
1998
1999
2000
2001 <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
2002 <div class="md-sidebar__scrollwrap">
2003 <div class="md-sidebar__inner">
2004
2005<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
2006
2007
2008
2009
2010
2011 <label class="md-nav__title" for="__toc">
2012 <span class="md-nav__icon md-icon"></span>
2013 Table of contents
2014 </label>
2015 <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
2016
2017 <li class="md-nav__item">
2018 <a href="#introduction" class="md-nav__link">
2019 Introduction
2020 </a>
2021
2022</li>
2023
2024 <li class="md-nav__item">
2025 <a href="#elements" class="md-nav__link">
2026 Elements
2027 </a>
2028
2029 <nav class="md-nav" aria-label="Elements">
2030 <ul class="md-nav__list">
2031
2032 <li class="md-nav__item">
2033 <a href="#elcreatetagname-string-element" class="md-nav__link">
2034 elCreate(tagName: string): Element
2035 </a>
2036
2037</li>
2038
2039 <li class="md-nav__item">
2040 <a href="#elremoveelement-element" class="md-nav__link">
2041 elRemove(element: Element)
2042 </a>
2043
2044</li>
2045
2046 <li class="md-nav__item">
2047 <a href="#elshowelement-element" class="md-nav__link">
2048 elShow(element: Element)
2049 </a>
2050
2051</li>
2052
2053 <li class="md-nav__item">
2054 <a href="#elhideelement-element" class="md-nav__link">
2055 elHide(element: Element)
2056 </a>
2057
2058</li>
2059
2060 <li class="md-nav__item">
2061 <a href="#eltoggleelement-element" class="md-nav__link">
2062 elToggle(element: Element)
2063 </a>
2064
2065</li>
2066
2067 </ul>
2068 </nav>
2069
2070</li>
2071
2072 <li class="md-nav__item">
2073 <a href="#attributes" class="md-nav__link">
2074 Attributes
2075 </a>
2076
2077 <nav class="md-nav" aria-label="Attributes">
2078 <ul class="md-nav__list">
2079
2080 <li class="md-nav__item">
2081 <a href="#elattrelement-element-attribute-string-value-string-string" class="md-nav__link">
2082 elAttr(element: Element, attribute: string, value?: string): string
2083 </a>
2084
2085</li>
2086
2087 <li class="md-nav__item">
2088 <a href="#elattrboolelement-element-attribute-string-boolean" class="md-nav__link">
2089 elAttrBool(element: Element, attribute: string): boolean
2090 </a>
2091
2092</li>
2093
2094 <li class="md-nav__item">
2095 <a href="#eldataelement-element-attribute-string-value-string-string" class="md-nav__link">
2096 elData(element: Element, attribute: string, value?: string): string
2097 </a>
2098
2099</li>
2100
2101 <li class="md-nav__item">
2102 <a href="#eldataboolelement-element-attribute-string-boolean" class="md-nav__link">
2103 elDataBool(element: Element, attribute: string): boolean
2104 </a>
2105
2106</li>
2107
2108 </ul>
2109 </nav>
2110
2111</li>
2112
2113 <li class="md-nav__item">
2114 <a href="#selecting-elements" class="md-nav__link">
2115 Selecting Elements
2116 </a>
2117
2118 <nav class="md-nav" aria-label="Selecting Elements">
2119 <ul class="md-nav__list">
2120
2121 <li class="md-nav__item">
2122 <a href="#elbyidid-string-element-null" class="md-nav__link">
2123 elById(id: string): Element | null
2124 </a>
2125
2126</li>
2127
2128 <li class="md-nav__item">
2129 <a href="#elbyselselector-string-context-element-element-null" class="md-nav__link">
2130 elBySel(selector: string, context?: Element): Element | null
2131 </a>
2132
2133</li>
2134
2135 <li class="md-nav__item">
2136 <a href="#elbyselallselector-string-context-element-callback-element-element-void-nodelist" class="md-nav__link">
2137 elBySelAll(selector: string, context?: Element, callback: (element: Element) =&gt; void): NodeList
2138 </a>
2139
2140 <nav class="md-nav" aria-label="elBySelAll(selector: string, context?: Element, callback: (element: Element) =&gt; void): NodeList">
2141 <ul class="md-nav__list">
2142
2143 <li class="md-nav__item">
2144 <a href="#callback-to-iterate-over-elements" class="md-nav__link">
2145 Callback to Iterate Over Elements
2146 </a>
2147
2148</li>
2149
2150 </ul>
2151 </nav>
2152
2153</li>
2154
2155 <li class="md-nav__item">
2156 <a href="#elclosestelement-element-selector-string-element-null" class="md-nav__link">
2157 elClosest(element: Element, selector: string): Element | null
2158 </a>
2159
2160 <nav class="md-nav" aria-label="elClosest(element: Element, selector: string): Element | null">
2161 <ul class="md-nav__list">
2162
2163 <li class="md-nav__item">
2164 <a href="#text-nodes" class="md-nav__link">
2165 Text Nodes
2166 </a>
2167
2168</li>
2169
2170 </ul>
2171 </nav>
2172
2173</li>
2174
2175 <li class="md-nav__item">
2176 <a href="#elbyclassclassname-string-context-element-nodelist" class="md-nav__link">
2177 elByClass(className: string, context?: Element): NodeList
2178 </a>
2179
2180</li>
2181
2182 <li class="md-nav__item">
2183 <a href="#elbytagtagname-string-context-element-nodelist" class="md-nav__link">
2184 elByTag(tagName: string, context?: Element): NodeList
2185 </a>
2186
2187</li>
2188
2189 </ul>
2190 </nav>
2191
2192</li>
2193
2194 <li class="md-nav__item">
2195 <a href="#utility-functions" class="md-nav__link">
2196 Utility Functions
2197 </a>
2198
2199 <nav class="md-nav" aria-label="Utility Functions">
2200 <ul class="md-nav__list">
2201
2202 <li class="md-nav__item">
2203 <a href="#elinnererrorelement-element-errormessage-string-ishtml-boolean-element-null" class="md-nav__link">
2204 `elInnerError(element: Element, errorMessage?: string, isHtml?: boolean): Element | null``
2205 </a>
2206
2207</li>
2208
2209 </ul>
2210 </nav>
2211
2212</li>
2213
2214 <li class="md-nav__item">
2215 <a href="#string-extensions" class="md-nav__link">
2216 String Extensions
2217 </a>
2218
2219 <nav class="md-nav" aria-label="String Extensions">
2220 <ul class="md-nav__list">
2221
2222 <li class="md-nav__item">
2223 <a href="#hashcode-string" class="md-nav__link">
2224 hashCode(): string
2225 </a>
2226
2227</li>
2228
2229 </ul>
2230 </nav>
2231
2232</li>
2233
2234 </ul>
2235
2236</nav>
2237 </div>
2238 </div>
2239 </div>
2240
2241
2242 <div class="md-content" data-md-component="content">
2243 <article class="md-content__inner md-typeset">
2244
2245
2246
2247 <h1 id="javascript-helper-functions">JavaScript Helper Functions<a class="headerlink" href="#javascript-helper-functions" title="Permanent link">#</a></h1>
2248<h2 id="introduction">Introduction<a class="headerlink" href="#introduction" title="Permanent link">#</a></h2>
2249<p>Since version 3.0, WoltLab Suite ships with a set of global helper functions that are
2250exposed on the <code>window</code>-object and thus are available regardless of the context.
2251They are meant to reduce code repetition and to increase readability by moving
2252potentially relevant parts to the front of an instruction.</p>
2253<h2 id="elements">Elements<a class="headerlink" href="#elements" title="Permanent link">#</a></h2>
2254<h3 id="elcreatetagname-string-element"><code>elCreate(tagName: string): Element</code><a class="headerlink" href="#elcreatetagname-string-element" title="Permanent link">#</a></h3>
2255<p>Creates a new element with the provided tag name.</p>
2256<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">elCreate</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
2257<span class="c1">// equals</span>
2258<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
2259</code></pre></div>
2260
2261<h3 id="elremoveelement-element"><code>elRemove(element: Element)</code><a class="headerlink" href="#elremoveelement-element" title="Permanent link">#</a></h3>
2262<p>Removes an element from its parent without returning it. This function will throw
2263an error if the <code>element</code> doesn't have a parent node.</p>
2264<div class="highlight"><pre><span></span><code><span class="nx">elRemove</span><span class="p">(</span><span class="nx">element</span><span class="p">);</span>
2265<span class="c1">// equals</span>
2266<span class="nx">element</span><span class="p">.</span><span class="nx">parentNode</span><span class="p">.</span><span class="nx">removeChild</span><span class="p">(</span><span class="nx">element</span><span class="p">);</span>
2267</code></pre></div>
2268
2269<h3 id="elshowelement-element"><code>elShow(element: Element)</code><a class="headerlink" href="#elshowelement-element" title="Permanent link">#</a></h3>
2270<p>Attempts to show an element by removing the <code>display</code> CSS-property, usually used
2271in conjunction with the <code>elHide()</code> function.</p>
2272<div class="highlight"><pre><span></span><code><span class="nx">elShow</span><span class="p">(</span><span class="nx">element</span><span class="p">);</span>
2273<span class="c1">// equals</span>
2274<span class="nx">element</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">removeProperty</span><span class="p">(</span><span class="s2">&quot;display&quot;</span><span class="p">);</span>
2275</code></pre></div>
2276
2277<h3 id="elhideelement-element"><code>elHide(element: Element)</code><a class="headerlink" href="#elhideelement-element" title="Permanent link">#</a></h3>
2278<p>Attempts to hide an element by setting the <code>display</code> CSS-property to <code>none</code>, this
2279is intended to be used with <code>elShow()</code> that relies on this behavior.</p>
2280<div class="highlight"><pre><span></span><code><span class="nx">elHide</span><span class="p">(</span><span class="nx">element</span><span class="p">);</span>
2281<span class="c1">// equals</span>
2282<span class="nx">element</span><span class="p">.</span><span class="nx">style</span><span class="p">.</span><span class="nx">setProperty</span><span class="p">(</span><span class="s2">&quot;display&quot;</span><span class="p">,</span> <span class="s2">&quot;none&quot;</span><span class="p">,</span> <span class="s2">&quot;&quot;</span><span class="p">);</span>
2283</code></pre></div>
2284
2285<h3 id="eltoggleelement-element"><code>elToggle(element: Element)</code><a class="headerlink" href="#eltoggleelement-element" title="Permanent link">#</a></h3>
2286<p>Attempts to toggle the visibility of an element by examining the value of the
2287<code>display</code> CSS-property and calls either <code>elShow()</code> or <code>elHide()</code>.</p>
2288<h2 id="attributes">Attributes<a class="headerlink" href="#attributes" title="Permanent link">#</a></h2>
2289<h3 id="elattrelement-element-attribute-string-value-string-string"><code>elAttr(element: Element, attribute: string, value?: string): string</code><a class="headerlink" href="#elattrelement-element-attribute-string-value-string-string" title="Permanent link">#</a></h3>
2290<p>Sets or reads an attribute value, value are implicitly casted into strings and
2291reading non-existing attributes will always yield an empty string. If you want
2292to test for attribute existence, you'll have to fall-back to the native
2293<a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/hasAttribute"><code>Element.hasAttribute()</code></a>
2294method.</p>
2295<p>You should read and set native attributes directly, such as <code>img.src</code> rather
2296than <code>img.getAttribute("src");</code>.</p>
2297<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">elAttr</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">);</span>
2298<span class="c1">// equals</span>
2299<span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">element</span><span class="p">.</span><span class="nx">getAttribute</span><span class="p">(</span><span class="s2">&quot;some-attribute&quot;</span><span class="p">);</span>
2300
2301<span class="nx">elAttr</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">,</span> <span class="s2">&quot;some value&quot;</span><span class="p">);</span>
2302<span class="c1">// equals</span>
2303<span class="nx">element</span><span class="p">.</span><span class="nx">setAttribute</span><span class="p">(</span><span class="s2">&quot;some-attribute&quot;</span><span class="p">,</span> <span class="s2">&quot;some value&quot;</span><span class="p">);</span>
2304</code></pre></div>
2305
2306<h3 id="elattrboolelement-element-attribute-string-boolean"><code>elAttrBool(element: Element, attribute: string): boolean</code><a class="headerlink" href="#elattrboolelement-element-attribute-string-boolean" title="Permanent link">#</a></h3>
2307<p>Reads an attribute and converts it value into a boolean value, the strings <code>"1"</code>
2308and <code>"true"</code> will evaluate to <code>true</code>. All other values, including a missing attribute,
2309will return <code>false</code>.</p>
2310<div class="highlight"><pre><span></span><code><span class="k">if</span> <span class="p">(</span><span class="nx">elAttrBool</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">))</span> <span class="p">{</span>
2311 <span class="c1">// attribute is true-ish</span>
2312<span class="p">}</span>
2313</code></pre></div>
2314
2315<h3 id="eldataelement-element-attribute-string-value-string-string"><code>elData(element: Element, attribute: string, value?: string): string</code><a class="headerlink" href="#eldataelement-element-attribute-string-value-string-string" title="Permanent link">#</a></h3>
2316<p>Short-hand function to read or set HTML5 <code>data-*</code>-attributes, it essentially
2317prepends the <code>data-</code> prefix before forwarding the call to <code>elAttr()</code>.</p>
2318<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">elData</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">);</span>
2319<span class="c1">// equals</span>
2320<span class="kd">var</span> <span class="nx">value</span> <span class="o">=</span> <span class="nx">elAttr</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;data-some-attribute&quot;</span><span class="p">);</span>
2321
2322<span class="nx">elData</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">,</span> <span class="s2">&quot;some value&quot;</span><span class="p">);</span>
2323<span class="c1">// equals</span>
2324<span class="nx">elAttr</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;data-some-attribute&quot;</span><span class="p">,</span> <span class="s2">&quot;some value&quot;</span><span class="p">);</span>
2325</code></pre></div>
2326
2327<h3 id="eldataboolelement-element-attribute-string-boolean"><code>elDataBool(element: Element, attribute: string): boolean</code><a class="headerlink" href="#eldataboolelement-element-attribute-string-boolean" title="Permanent link">#</a></h3>
2328<p>Short-hand function to convert a HTML5 <code>data-*</code>-attribute into a boolean value. It
2329prepends the <code>data-</code> prefix before forwarding the call to <code>elAttrBool()</code>.</p>
2330<div class="highlight"><pre><span></span><code><span class="k">if</span> <span class="p">(</span><span class="nx">elDataBool</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;some-attribute&quot;</span><span class="p">))</span> <span class="p">{</span>
2331 <span class="c1">// attribute is true-ish</span>
2332<span class="p">}</span>
2333<span class="c1">// equals</span>
2334<span class="k">if</span> <span class="p">(</span><span class="nx">elAttrBool</span><span class="p">(</span><span class="nx">element</span><span class="p">,</span> <span class="s2">&quot;data-some-attribute&quot;</span><span class="p">))</span> <span class="p">{</span>
2335 <span class="c1">// attribute is true-ish</span>
2336<span class="p">}</span>
2337</code></pre></div>
2338
2339<h2 id="selecting-elements">Selecting Elements<a class="headerlink" href="#selecting-elements" title="Permanent link">#</a></h2>
2340<div class="admonition warning">
2341<p class="admonition-title">Unlike libraries like jQuery, these functions will return <code>null</code> if an element is not found. You are responsible to validate if the element exist and to branch accordingly, invoking methods on the return value without checking for <code>null</code> will yield an error.</p>
2342</div>
2343<h3 id="elbyidid-string-element-null"><code>elById(id: string): Element | null</code><a class="headerlink" href="#elbyidid-string-element-null" title="Permanent link">#</a></h3>
2344<p>Selects an element by its <code>id</code>-attribute value.</p>
2345<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">elById</span><span class="p">(</span><span class="s2">&quot;my-awesome-element&quot;</span><span class="p">);</span>
2346<span class="c1">// equals</span>
2347<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementById</span><span class="p">(</span><span class="s2">&quot;my-awesome-element&quot;</span><span class="p">);</span>
2348</code></pre></div>
2349
2350<h3 id="elbyselselector-string-context-element-element-null"><code>elBySel(selector: string, context?: Element): Element | null</code><a class="headerlink" href="#elbyselselector-string-context-element-element-null" title="Permanent link">#</a></h3>
2351<div class="admonition danger">
2352<p class="admonition-title">The underlying <code>querySelector()</code>-method works on the entire DOM hierarchy and can yield results outside of your context element! Please read and understand the MDN article on <a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector#The_entire_hierarchy_counts"><code>Element.querySelector()</code></a> to learn more about this.</p>
2353</div>
2354<p>Select a single element based on a CSS selector, optionally limiting the results
2355to be a direct or indirect children of the context element.</p>
2356<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">elBySel</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2357<span class="c1">// equals</span>
2358<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2359
2360<span class="c1">// limiting the scope to a context element:</span>
2361<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">elBySel</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">,</span> <span class="nx">context</span><span class="p">);</span>
2362<span class="c1">// equals</span>
2363<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">context</span><span class="p">.</span><span class="nx">querySelector</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2364</code></pre></div>
2365
2366<h3 id="elbyselallselector-string-context-element-callback-element-element-void-nodelist"><code>elBySelAll(selector: string, context?: Element, callback: (element: Element) =&gt; void): NodeList</code><a class="headerlink" href="#elbyselallselector-string-context-element-callback-element-element-void-nodelist" title="Permanent link">#</a></h3>
2367<div class="admonition danger">
2368<p class="admonition-title">The underlying <code>querySelector()</code>-method works on the entire DOM hierarchy and can yield results outside of your context element! Please read and understand the MDN article on <a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/querySelector#The_entire_hierarchy_counts"><code>Element.querySelector()</code></a> to learn more about this.</p>
2369</div>
2370<p>Finds and returns a <code>NodeList</code> containing all elements that match the provided
2371CSS selector. Although <code>NodeList</code> is an array-like structure, it is not possible
2372to iterate over it using array functions, including <code>.forEach()</code> which is not
2373available in Internet Explorer 11.</p>
2374<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elBySelAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2375<span class="c1">// equals</span>
2376<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2377
2378<span class="c1">// limiting the scope to a context element:</span>
2379<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elBySelAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">,</span> <span class="nx">context</span><span class="p">);</span>
2380<span class="c1">// equals</span>
2381<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">context</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2382</code></pre></div>
2383
2384<h4 id="callback-to-iterate-over-elements">Callback to Iterate Over Elements<a class="headerlink" href="#callback-to-iterate-over-elements" title="Permanent link">#</a></h4>
2385<p><code>elBySelAll()</code> supports an optional third parameter that expects a callback function
2386that is invoked for every element in the list.</p>
2387<div class="highlight"><pre><span></span><code><span class="c1">// set the 2nd parameter to `undefined` or `null` to query the whole document</span>
2388<span class="nx">elBySelAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">,</span> <span class="kc">undefined</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">element</span><span class="p">)</span> <span class="p">{</span>
2389 <span class="c1">// is called for each element</span>
2390<span class="p">});</span>
2391
2392<span class="c1">// limiting the scope to a context element:</span>
2393<span class="nx">elBySelAll</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">,</span> <span class="nx">context</span><span class="p">,</span> <span class="kd">function</span><span class="p">(</span><span class="nx">element</span><span class="p">)</span> <span class="p">{</span>
2394 <span class="c1">// is called for each element</span>
2395<span class="p">});</span>
2396</code></pre></div>
2397
2398<h3 id="elclosestelement-element-selector-string-element-null"><code>elClosest(element: Element, selector: string): Element | null</code><a class="headerlink" href="#elclosestelement-element-selector-string-element-null" title="Permanent link">#</a></h3>
2399<p>Returns the first <code>Element</code> that matches the provided CSS selector, this will
2400return the provided element itself if it matches the selector.</p>
2401<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">elClosest</span><span class="p">(</span><span class="nx">context</span><span class="p">,</span> <span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2402<span class="c1">// equals</span>
2403<span class="kd">var</span> <span class="nx">element</span> <span class="o">=</span> <span class="nx">context</span><span class="p">.</span><span class="nx">closest</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2404</code></pre></div>
2405
2406<h4 id="text-nodes">Text Nodes<a class="headerlink" href="#text-nodes" title="Permanent link">#</a></h4>
2407<p>If the provided context is a <code>Text</code>-node, the function will move the context to
2408the parent element before applying the CSS selector. If the <code>Text</code> has no parent,
2409<code>null</code> is returned without evaluating the selector.</p>
2410<h3 id="elbyclassclassname-string-context-element-nodelist"><code>elByClass(className: string, context?: Element): NodeList</code><a class="headerlink" href="#elbyclassclassname-string-context-element-nodelist" title="Permanent link">#</a></h3>
2411<p>Returns a live <code>NodeList</code> containing all elements that match the provided CSS
2412class now <em>and</em> in the future! The collection is automatically updated whenever
2413an element with that class is added or removed from the DOM, it will also include
2414elements that get dynamically assigned or removed this CSS class.</p>
2415<p>You absolutely need to understand that this collection is dynamic, that means that
2416elements can and will be added and removed from the collection <em>even while</em> you
2417iterate over it. There are only very few cases where you would need such a collection,
2418almost always <code>elBySelAll()</code> is what you're looking for.</p>
2419<div class="highlight"><pre><span></span><code><span class="c1">// no leading dot!</span>
2420<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elByClass</span><span class="p">(</span><span class="s2">&quot;some-element&quot;</span><span class="p">);</span>
2421<span class="c1">// equals</span>
2422<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByClassName</span><span class="p">(</span><span class="s2">&quot;some-element&quot;</span><span class="p">);</span>
2423
2424<span class="c1">// limiting the scope to a context element:</span>
2425<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elByClass</span><span class="p">(</span><span class="s2">&quot;some-element&quot;</span><span class="p">,</span> <span class="nx">context</span><span class="p">);</span>
2426<span class="c1">// equals</span>
2427<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">context</span><span class="p">.</span><span class="nx">getElementsByClassName</span><span class="p">(</span><span class="s2">&quot;.some-element&quot;</span><span class="p">);</span>
2428</code></pre></div>
2429
2430<h3 id="elbytagtagname-string-context-element-nodelist"><code>elByTag(tagName: string, context?: Element): NodeList</code><a class="headerlink" href="#elbytagtagname-string-context-element-nodelist" title="Permanent link">#</a></h3>
2431<p>Returns a live <code>NodeList</code> containing all elements with the provided tag name now
2432<em>and</em> in the future! Please read the remarks on <code>elByClass()</code> above to understand
2433the implications of this.</p>
2434<div class="highlight"><pre><span></span><code><span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elByTag</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
2435<span class="c1">// equals</span>
2436<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
2437
2438<span class="c1">// limiting the scope to a context element:</span>
2439<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">elByTag</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">,</span> <span class="nx">context</span><span class="p">);</span>
2440<span class="c1">// equals</span>
2441<span class="kd">var</span> <span class="nx">elements</span> <span class="o">=</span> <span class="nx">context</span><span class="p">.</span><span class="nx">getElementsByTagName</span><span class="p">(</span><span class="s2">&quot;div&quot;</span><span class="p">);</span>
2442</code></pre></div>
2443
2444<h2 id="utility-functions">Utility Functions<a class="headerlink" href="#utility-functions" title="Permanent link">#</a></h2>
2445<h3 id="elinnererrorelement-element-errormessage-string-ishtml-boolean-element-null">`elInnerError(element: Element, errorMessage?: string, isHtml?: boolean): Element | null``<a class="headerlink" href="#elinnererrorelement-element-errormessage-string-ishtml-boolean-element-null" title="Permanent link">#</a></h3>
2446<p>Unified function to display and remove inline error messages for input elements,
2447please read the <a href="../../migration/wsc30/javascript/#helper-function-for-inline-error-messages">section in the migration docs</a>
2448to learn more about this function.</p>
2449<h2 id="string-extensions">String Extensions<a class="headerlink" href="#string-extensions" title="Permanent link">#</a></h2>
2450<h3 id="hashcode-string"><code>hashCode(): string</code><a class="headerlink" href="#hashcode-string" title="Permanent link">#</a></h3>
2451<p>Computes a numeric hash value of a string similar to Java's <code>String.hashCode()</code> method.</p>
2452<div class="highlight"><pre><span></span><code><span class="nx">console</span><span class="p">.</span><span class="nx">log</span><span class="p">(</span><span class="s2">&quot;Hello World&quot;</span><span class="p">.</span><span class="nx">hashCode</span><span class="p">());</span>
2453<span class="c1">// outputs: -862545276</span>
2454</code></pre></div>
2455
2456
2457
2458
2459
2460
2461
2462 </article>
2463 </div>
2464 </div>
2465 </main>
2466
2467
2468<footer class="md-footer">
2469
2470 <nav class="md-footer__inner md-grid" aria-label="Footer">
2471
2472 <a href="../legacy-api/" class="md-footer__link md-footer__link--prev" rel="prev">
2473 <div class="md-footer__button md-icon">
2474 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12z"/></svg>
2475 </div>
2476 <div class="md-footer__title">
2477 <div class="md-ellipsis">
2478 <span class="md-footer__direction">
2479 Previous
2480 </span>
2481 Legacy API
2482 </div>
2483 </div>
2484 </a>
2485
2486
2487 <a href="../code-snippets/" class="md-footer__link md-footer__link--next" rel="next">
2488 <div class="md-footer__title">
2489 <div class="md-ellipsis">
2490 <span class="md-footer__direction">
2491 Next
2492 </span>
2493 Code Snippets
2494 </div>
2495 </div>
2496 <div class="md-footer__button md-icon">
2497 <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4z"/></svg>
2498 </div>
2499 </a>
2500
2501 </nav>
2502
2503 <div class="md-footer-meta md-typeset">
2504 <div class="md-footer-meta__inner md-grid">
2505 <div class="md-footer-copyright">
2506
2507 <div class="md-footer-copyright__highlight">
2508 Copyright © 2020 WoltLab GmbH
2509 </div>
2510
2511 Made with
2512 <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
2513 Material for MkDocs
2514 </a>
2515 </div>
2516 <div class="md-footer-copyright">
2517 <a href="https://www.woltlab.com/legal-notice/">Legal Notice</a>
2518 <a href="https://www.woltlab.com/privacy-policy/">Privacy Policy</a>
2519</div>
2520 </div>
2521 </div>
2522</footer>
2523
2524 </div>
2525 <div class="md-dialog" data-md-component="dialog">
2526 <div class="md-dialog__inner md-typeset"></div>
2527 </div>
2528 <script id="__config" type="application/json">{"base": "../..", "features": [], "translations": {"clipboard.copy": "Copy to clipboard", "clipboard.copied": "Copied to clipboard", "search.config.lang": "en", "search.config.pipeline": "trimmer, stopWordFilter", "search.config.separator": "[\\s\\-]+", "search.placeholder": "Search", "search.result.placeholder": "Type to start searching", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.term.missing": "Missing"}, "search": "../../assets/javascripts/workers/search.fb4a9340.min.js", "version": {"provider": "mike"}}</script>
2529
2530
2531 <script src="../../assets/javascripts/bundle.ca5457b8.min.js"></script>
2532
2533
2534 </body>
2535</html>