diff --git a/jquery/jquery-tests.ts b/jquery/jquery-tests.ts
index 2e48183cd8..e22e1deffb 100644
--- a/jquery/jquery-tests.ts
+++ b/jquery/jquery-tests.ts
@@ -418,7 +418,7 @@ function test_slideToggle() {
$("#aa").click(function () {
$("div:not(.still)").slideToggle("slow", function () {
var n = parseInt($("span").text(), 10);
- $("span").text(n + 1);
+ $("span").text((n + 1).toString());
});
});
}
@@ -2143,13 +2143,13 @@ function test_html() {
function test_inArray() {
var arr: any[] = [4, "Pete", 8, "John"];
var $spans = $("span");
- $spans.eq(0).text(jQuery.inArray("John", arr));
- $spans.eq(1).text(jQuery.inArray(4, arr));
- $spans.eq(2).text(jQuery.inArray("Karl", arr));
- $spans.eq(3).text(jQuery.inArray("Pete", arr, 2));
+ $spans.eq(0).text(jQuery.inArray("John", arr).toString());
+ $spans.eq(1).text(jQuery.inArray(4, arr).toString());
+ $spans.eq(2).text(jQuery.inArray("Karl", arr).toString());
+ $spans.eq(3).text(jQuery.inArray("Pete", arr, 2).toString());
var arr2: number[] = [1, 2, 3, 4];
- $spans.eq(1).text(jQuery.inArray(4, arr2));
+ $spans.eq(1).text(jQuery.inArray(4, arr2).toString());
}
function test_index() {
@@ -2384,7 +2384,7 @@ function test_isFunction() {
];
jQuery.each(objs, function (i) {
var isFunc = jQuery.isFunction(objs[i]);
- $("span").eq(i).text(isFunc);
+ $("span").eq(i).text(isFunc.toString());
});
$.isFunction(function () { });
}
@@ -2749,7 +2749,7 @@ function test_mouseenter() {
var n = 0;
$("div.enterleave").mouseenter(function () {
$("p:first", this).text("mouse enter");
- $("p:last", this).text(++n);
+ $("p:last", this).text((++n).toString());
}).mouseleave(function () {
$("p:first", this).text("mouse leave");
});
@@ -2767,14 +2767,14 @@ function test_mouseleave() {
$("p:first", this).text("mouse over");
}).mouseout(function () {
$("p:first", this).text("mouse out");
- $("p:last", this).text(++i);
+ $("p:last", this).text((++i).toString());
});
var n = 0;
$("div.enterleave").mouseenter(function () {
$("p:first", this).text("mouse enter");
}).mouseleave(function () {
$("p:first", this).text("mouse leave");
- $("p:last", this).text(++n);
+ $("p:last", this).text((++n).toString());
});
}
@@ -2805,7 +2805,7 @@ function test_mouseout() {
var i = 0;
$("div.overout").mouseout(function () {
$("p:first", this).text("mouse out");
- $("p:last", this).text(++i);
+ $("p:last", this).text((++i).toString());
}).mouseover(function () {
$("p:first", this).text("mouse over");
});
@@ -2814,7 +2814,7 @@ function test_mouseout() {
$("p:first", this).text("mouse enter");
}).bind("mouseleave", function () {
$("p:first", this).text("mouse leave");
- $("p:last", this).text(++n);
+ $("p:last", this).text((++n).toString());
});
}
@@ -2847,7 +2847,7 @@ function test_mouseover() {
var i = 0;
$("div.overout").mouseover(function () {
$("p:first", this).text("mouse over");
- $("p:last", this).text(++i);
+ $("p:last", this).text((++i).toString());
}).mouseout(function () {
$("p:first", this).text("mouse out");
});
@@ -2870,6 +2870,36 @@ function test_makeArray() {
jQuery.isArray(arr) === true;
}
+function test_replaceAll() {
+ $("
New heading
").replaceAll(".inner");
+ $(".first").replaceAll(".third");
+ $("Paragraph. ").replaceAll("p");
+}
+
+function test_replaceWith() {
+ $("div.second").replaceWith("New heading
");
+ $("div.inner").replaceWith("New heading
");
+ $("div.third").replaceWith($(".first"));
+
+ $("button").click(function () {
+ $(this).replaceWith("" + $(this).text() + "
");
+ });
+
+ $("p").replaceWith("Paragraph. ");
+
+ $("p").click(function () {
+ $(this).replaceWith($("div"));
+ });
+
+ $("button").on("click", function () {
+ var $container = $("div.container").replaceWith(function () {
+ return $(this).contents();
+ });
+
+ $("p").append($container.attr("class"));
+ });
+}
+
function test_map() {
$(':checkbox').map(function () {
return this.id;
diff --git a/jquery/jquery.d.ts b/jquery/jquery.d.ts
index 64edfa0f86..67baf90e34 100644
--- a/jquery/jquery.d.ts
+++ b/jquery/jquery.d.ts
@@ -3017,14 +3017,88 @@ interface JQuery {
*/
remove(selector?: string): JQuery;
- replaceAll(target: any): JQuery;
+ /**
+ * Replace each target element with the set of matched elements.
+ *
+ * @param target A selector string, jQuery object, DOM element, or array of elements indicating which element(s) to replace.
+ */
+ replaceAll(target: JQuery): JQuery;
+ /**
+ * Replace each target element with the set of matched elements.
+ *
+ * @param target A selector string, jQuery object, DOM element, or array of elements indicating which element(s) to replace.
+ */
+ replaceAll(target: any[]): JQuery;
+ /**
+ * Replace each target element with the set of matched elements.
+ *
+ * @param target A selector string, jQuery object, DOM element, or array of elements indicating which element(s) to replace.
+ */
+ replaceAll(target: Element): JQuery;
+ /**
+ * Replace each target element with the set of matched elements.
+ *
+ * @param target A selector string, jQuery object, DOM element, or array of elements indicating which element(s) to replace.
+ */
+ replaceAll(target: string): JQuery;
- replaceWith(func: any): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object.
+ */
+ replaceWith(newContent: JQuery): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object.
+ */
+ replaceWith(newContent: any[]): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object.
+ */
+ replaceWith(newContent: Element): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object.
+ */
+ replaceWith(newContent: Text): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param newContent The content to insert. May be an HTML string, DOM element, array of DOM elements, or jQuery object.
+ */
+ replaceWith(newContent: string): JQuery;
+ /**
+ * Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ *
+ * param func A function that returns content with which to replace the set of matched elements.
+ */
+ replaceWith(func: () => any): JQuery;
+ /**
+ * Get the combined text contents of each element in the set of matched elements, including their descendants.
+ */
text(): string;
- text(textString: any): JQuery;
- text(textString: (index: number, text: string) => string): JQuery;
+ /**
+ * Set the content of each element in the set of matched elements to the specified text.
+ *
+ * @param textString A string of text to set as the content of each matched element.
+ */
+ text(textString: string): JQuery;
+ /**
+ * Set the content of each element in the set of matched elements to the specified text.
+ *
+ * @param func A function returning the text content to set. Receives the index position of the element in the set and the old text value as arguments.
+ */
+ text(func: (index: number, text: string) => string): JQuery;
+ /**
+ * Retrieve all the elements contained in the jQuery set, as an array.
+ */
toArray(): any[];
unwrap(): JQuery;