Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用带有text()的子字符串删除html标记?_Javascript_Jquery_Jquery Ui_Jquery Autocomplete - Fatal编程技术网

Javascript 使用带有text()的子字符串删除html标记?

Javascript 使用带有text()的子字符串删除html标记?,javascript,jquery,jquery-ui,jquery-autocomplete,Javascript,Jquery,Jquery Ui,Jquery Autocomplete,我正在使用jQueryUI自动完成从SQL数据库中提取结果。我使用substring方法将结果描述限制为350个字符。但是,我似乎无法将.text()与子字符串一起使用来删除描述中的所有html标记。当我键入搜索词时,控制台将返回 TypeError:item.description.text不是函数 有人能告诉我应该使用什么从描述中删除html标记吗 $(function() { $( "#Search" ).autocomplete({ source: function( re

我正在使用jQueryUI自动完成从SQL数据库中提取结果。我使用
substring
方法将结果描述限制为350个字符。但是,我似乎无法将
.text()
与子字符串一起使用来删除描述中的所有html标记。当我键入搜索词时,控制台将返回

TypeError:item.description.text不是函数

有人能告诉我应该使用什么从描述中删除html标记吗

$(function() {

  $( "#Search" ).autocomplete({
    source: function( request, response ) {
      $.ajax({
        url: "get.php",
        dataType:"json",
        data:{q:request.term},
        success: function( data ) {

          response($.map( data.products, function( item ) { return { 

           label:item.name,
           category:item.category,
           description:item.description.text().substring(0,350).split(" ").slice(0, -1).join(" ") 
                                     //.text() doesn't work.
}
分配数据:

 }).data("ui-autocomplete")._renderItem = function(ul, item) {

   var inner_html = '..........<p>'+ item.description +'...</div></div></a>';
数据(“ui自动完成”)。\u renderItem=函数(ul,项){ var internal_html='...'+item.description+'.';
问题在于
.text()
是jQuery对象(包含节点)的方法,
.textContent
是节点的属性。相反,似乎
item.description
是一个字符串

然后,您可以使用字符串作为其html创建DOM元素,然后使用
.textContent
.text()
。但这是一种易受攻击的做法:

$('<img src="//" onerror=alert("hacked!") />');

注意
document.implementation.createHTMLDocument
在旧浏览器上不起作用。

问题在于
.text()
是jQuery对象(包含节点)的一种方法,
.textContent
是节点的一个属性。相反,
item.description
似乎是一个字符串

然后,您可以使用字符串作为其html创建DOM元素,然后使用
.textContent
.text()
。但这是一种易受攻击的做法:

$('<img src="//" onerror=alert("hacked!") />');

注意
document.implementation.createHTMLDocument
在旧浏览器上不起作用。

问题在于
.text()
是jQuery对象(包含节点)的一种方法,
.textContent
是节点的一个属性。相反,
item.description
似乎是一个字符串

然后,您可以使用字符串作为其html创建DOM元素,然后使用
.textContent
.text()
。但这是一种易受攻击的做法:

$('<img src="//" onerror=alert("hacked!") />');

注意
document.implementation.createHTMLDocument
在旧浏览器上不起作用。

问题在于
.text()
是jQuery对象(包含节点)的一种方法,
.textContent
是节点的一个属性。相反,
item.description
似乎是一个字符串

然后,您可以使用字符串作为其html创建DOM元素,然后使用
.textContent
.text()
。但这是一种易受攻击的做法:

$('<img src="//" onerror=alert("hacked!") />');


注意
document.implementation.createHTMLDocument
在旧浏览器上不起作用。

尝试将其包装到jquery对象中:
$(item.description.text()..
@briangraz try
$(“”)
尝试使用
项.description.textContent
,而不是
项.description.text()
。如果要使用
.text())
,您必须将其应用于jQuery对象。@seises我刚刚尝试过,但出现了此错误
TypeError:item.description.textContent未定义
@Oriol这有什么关系?如果您正在检索自动完成的选项,我认为这些选项不会被用户输入填充。请尝试将其包装到jQuery对象中:
$(item.description).text()..
@BrianGlaz Try
$(“”)
尝试使用
item.description.textContent
而不是
item.description.text()
。如果要使用
.text()
,您必须将其应用于jQuery对象。@seises我刚刚尝试过,但出现了此错误
TypeError:item.description.textContent未定义
@Oriol这有什么关系?如果您正在检索自动完成的选项,我认为这些选项不会被用户输入填充。请尝试将其包装到jQuery对象中:
$(item.description).text()..
@BrianGlaz Try
$(“”)
尝试使用
item.description.textContent
而不是
item.description.text()
。如果要使用
.text()
,您必须将其应用于jQuery对象。@seises我刚刚尝试过,但出现了此错误
TypeError:item.description.textContent未定义
@Oriol这有什么关系?如果您正在检索自动完成的选项,我认为这些选项不会被用户输入填充。请尝试将其包装到jQuery对象中:
$(item.description).text()..
@BrianGlaz Try
$(“”)
尝试使用
item.description.textContent
而不是
item.description.text()
。如果要使用
.text()
,您必须将其应用于jQuery对象。@seises我刚刚尝试过,但出现了此错误
TypeError:item.description.textContent未定义
@Oriol这有什么关系?如果您正在检索自动完成的选项,我想这些选项不会被用户输入填充。您能告诉我应该在哪里吗放置?它在
response…{return{
中给我错误,在renderItem函数中没有任何效果。明白了!我将函数放置在
success:function(data){
中,它工作了。你能告诉我应该放置在哪里吗?它在
response…{return中给我错误{
在renderItem函数中没有任何效果。明白了!我将函数放置在
success:function(data){
中,它可以工作。你能告诉我应该放置在哪里吗?它在
响应中给我错误…{return{
在renderItem函数中没有任何效果。明白了!我将函数放置在
success:function(data){
中,它可以工作。你能告诉我应该放置在哪里吗?它在
响应中给我错误…{return{
在renderItem函数中没有任何效果。明白了!我将函数放置在
success:function(data){
中,它就工作了。