Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.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
Jquery 如何将标签内容传递给函数_Jquery_Asp.net_Jquery Ui_Jquery Plugins - Fatal编程技术网

Jquery 如何将标签内容传递给函数

Jquery 如何将标签内容传递给函数,jquery,asp.net,jquery-ui,jquery-plugins,Jquery,Asp.net,Jquery Ui,Jquery Plugins,我用下面的代码调用了一个jQuery函数。该函数搜索“QAList”中“words:”区域中显示的单词,然后将这些单词加粗。这与这段代码配合得很好,“Demo”和“or”这两个词用粗体表示 $("[id$=QAList]").wrapInTag({ words: ['Demo User', 'or'], tag: '<selected>' }); 但当它返回多个结果时,除非我添加索引,否则它将不起作用,但只对我硬编码的索引起作用。。。这不是一

我用下面的代码调用了一个jQuery函数。该函数搜索“QAList”中“words:”区域中显示的单词,然后将这些单词加粗。这与这段代码配合得很好,“Demo”和“or”这两个词用粗体表示

    $("[id$=QAList]").wrapInTag({
      words: ['Demo User', 'or'],
      tag: '<selected>'
    });
但当它返回多个结果时,除非我添加索引,否则它将不起作用,但只对我硬编码的索引起作用。。。这不是一个选项,因为我不知道这个数组中有多少个

    $("[id$=QAList]").wrapInTag({
      words: [$("[id$=lblSelectedQA]").html().split(",")[0]],
      tag: '<selected>'
    });
$(“[id$=QAList]”)。包装标签({
单词:[$(“[id$=lblSelectedQA]”.html().split(“,”[0]]),
标记:“”
});

$(“[id$=QAList]”)。包装标签({
单词:[$(“[id$=lblSelectedQA]”.html().split(“,”[1]”),和,
标记:“”
});
是否有一种方法可以让它获取所有数组项,而不必循环遍历它们

谢谢

**编辑解决方案:

我需要去掉我刚才添加的括号。我发现了这一点,然后回来,乌特卡诺斯刚刚发布了同样的消息:)

工作代码:

    $("[id$=QAList]").wrapInTag({
      words: $("[id$=lblSelectedQA]").html().split(","),
      tag: '<selected>'
    });
$(“[id$=QAList]”)。包装标签({
单词:$(“[id$=lblSelectedQA]”.html().split(“,”),
标记:“”
});

谢谢

这样,您的单词var等于
[“'Demo User'”或“'”
(一个元素)。如果您拆分字符串,您将得到想要的:

// suposing your_text is right
words: your_text.split(",")

当然,这是一个简化的解决方案。如果你想得到像“word,1”,“word 2”这样的东西,你需要一个更好的解析器来解决你的问题,但这就是方法。

这样,你的单词var就等于
[“'Demo User',”或“'”
(一个元素)。如果您拆分字符串,您将得到想要的:

// suposing your_text is right
words: your_text.split(",")

当然,这是一个简化的解决方案。如果您想获得类似于“word,1”,“word 2”的内容,您需要一个更好的解析器来解决您的问题,但这就是方法。

words参数应该是一个数组。字符串
'Demo User',或'
看起来像是从包含这些值的数组中打印出来的,但最终是一个字符串,而不是数组

换句话说,传递的字符串看起来有点像数组,而不是实际数组

假设从元素中检索的字符串是,如您所说,
'Demo User',或'
,则需要通过分隔符(在您的示例中是逗号和空格)将其拆分为一个数组。您还需要删除各种令牌周围的

$("[id$=QAList]").wrapInTag({
    words: $("[id$=lblSelectedQA]").val().replace(/'/g, '').split(, ?/),
    tag: '<selected>'
});
$(“[id$=QAList]”)。包装标签({
单词:$(“[id$=lblSelectedQA]”.val().replace(/“/g”).split(,?/),
标记:“”
});

单词
参数应该是一个数组。字符串
'Demo User',或'
看起来像是从包含这些值的数组中打印出来的,但最终是一个字符串,而不是数组

换句话说,传递的字符串看起来有点像数组,而不是实际数组

假设从元素中检索的字符串是,如您所说,
'Demo User',或'
,则需要通过分隔符(在您的示例中是逗号和空格)将其拆分为一个数组。您还需要删除各种令牌周围的

$("[id$=QAList]").wrapInTag({
    words: $("[id$=lblSelectedQA]").val().replace(/'/g, '').split(, ?/),
    tag: '<selected>'
});
$(“[id$=QAList]”)。包装标签({
单词:$(“[id$=lblSelectedQA]”.val().replace(/“/g”).split(,?/),
标记:“”
});

能否提供指向此
wrapInTag
插件的链接?或者这是你自己制作的[link]你能提供一个指向这个
wrapInTag
插件的链接吗?或者这是你自己制作的[链接],它会在单词前留下空格,而不会删除单词周围的单引号。谢谢!这就是我所缺少的。我不认为这是一个因素。我还发现,如果我这样传递它,我就不能使用单引号。我有一把小提琴,如果我把它放在一个元素上,去掉单引号,它的工作方式和我的一样。现在我只需要弄清楚如何获得多个值,我认为拆分可以做到这一点。我知道,但OP的问题是“传递一个字符串而不是一个数组”。我给了他这个问题的解决办法。现在,他可以改进解析器,以解决他在解析类似内容时遇到的许多其他问题。@divtag所以将其标记为正确答案。这对我来说是好的,主要是对以后任何引用这篇文章的人来说。如果插件需要数组,那么传递字符串而不是数组是不可协商的。问题实际上是:“如何从字符串中获取一些数据并将其转换为适合此插件的数组?”这将在单词前留下空格,而不会删除单词周围的单引号。谢谢!这就是我所缺少的。我不认为这是一个因素。我还发现,如果我这样传递它,我就不能使用单引号。我有一把小提琴,如果我把它放在一个元素上,去掉单引号,它的工作方式和我的一样。现在我只需要弄清楚如何获得多个值,我认为拆分可以做到这一点。我知道,但OP的问题是“传递一个字符串而不是一个数组”。我给了他这个问题的解决办法。现在,他可以改进解析器,以解决他在解析类似内容时遇到的许多其他问题。@divtag所以将其标记为正确答案。这对我来说是好的,主要是对以后任何引用这篇文章的人来说。如果插件需要数组,那么传递字符串而不是数组是不可协商的。问题实际上是:“我如何从字符串中获取一些数据,并将其转换为数组,以便适合此插件?”谢谢。我知道你在这里做什么了,因为我离你远了一点。我可以控制字符串的创建方式,所以我去掉了单引号和额外的空格。我现在很难看到我在编辑问题时显示的所有数组项。请查看您的编辑。单独使用split是不够的,因为您需要删除包装单引号。编辑中的第一个代码段不起作用的另一个原因是因为您未通过
// suposing your_text is right
words: your_text.split(",")
$("[id$=QAList]").wrapInTag({
    words: $("[id$=lblSelectedQA]").val().replace(/'/g, '').split(, ?/),
    tag: '<selected>'
});