diff --git a/src/base/single/text.js b/src/base/single/text.js
index 00eb774cd4..5449eaefea 100644
--- a/src/base/single/text.js
+++ b/src/base/single/text.js
@@ -104,21 +104,22 @@
 
         _getShowText: function () {
             var o = this.options;
-            return BI.isFunction(o.text) ? o.text() : o.text;
+            var text = BI.isFunction(o.text) ? o.text() : o.text;
+            text = BI.isKey(text) ? text : o.value;
+            return BI.Text.formatText(text + "");
         },
 
-
         doRedMark: function (keyword) {
             var o = this.options;
             // render之后做的doredmark,这个时候虽然标红了,但是之后text mounted执行的时候并没有keyword
             o.keyword = keyword;
-            this.text.element.__textKeywordMarked__(this._getShowText() || o.value, keyword, o.py);
+            this.text.element.__textKeywordMarked__(this._getShowText(), keyword, o.py);
         },
 
         unRedMark: function () {
             var o = this.options;
             o.keyword = "";
-            this.text.element.__textKeywordMarked__(this._getShowText() || o.value, "", o.py);
+            this.text.element.__textKeywordMarked__(this._getShowText(), "", o.py);
         },
 
         doHighLight: function () {
@@ -144,13 +145,7 @@
             BI.Text.superclass.setText.apply(this, arguments);
             //  为textContext赋值为undefined时在ie和edge下会真的显示undefined
             this.options.text = BI.isNotNull(text) ? text : "";
-            if (BI.isIE9Below()) {
-                this.text.element.html(BI.htmlEncode(BI.Text.formatText(this._getShowText())));
-                return;
-            }
-            //  textContent性能更好,并且原生防xss
-            this.text.element[0].textContent = BI.Text.formatText(this._getShowText());
-            BI.isKey(this.options.keyword) && this.doRedMark(this.options.keyword);
+            this.doRedMark(this.options.keyword);
         }
     });
     var formatters = [];
diff --git a/src/core/platform/web/jquery/fn.js b/src/core/platform/web/jquery/fn.js
index 397f1408fd..4d95e67a71 100644
--- a/src/core/platform/web/jquery/fn.js
+++ b/src/core/platform/web/jquery/fn.js
@@ -78,7 +78,12 @@ if (BI.jQuery) {
          */
         __textKeywordMarked__: function (text, keyword, py) {
             if (!BI.isKey(keyword) || (text + "").length > 100) {
-                return this.html(BI.htmlEncode(text));
+                if (BI.isIE9Below()) {
+                    return this.html(BI.htmlEncode(text));
+                }
+                //  textContent性能更好,并且原生防xss
+                this[0].textContent = text;
+                return this;
             }
             keyword = keyword + "";
             keyword = BI.toUpperCase(keyword);