删除DOM中的选项标签是没有问题的,但现在我要删除的选项标签中的变量。这是我有:
本文地址 :CodeGo.net/8536079/
-------------------------------------------------------------------------------------------------------------------------
1. 创建一个jQuery选择器开始保存自己不必不断地重新浇铸成的。 在你发现你也不需要指定
var txt = "<select name='example'><option value='1'>Test</option></select>";
$(txt).find("select option[value='" + $(this).attr("id") + "']").remove();
选择似乎是正确的,我已经与文本调试它()和它的正确值。但是变量TXT不会改变-我做了什么错?
本文地址 :CodeGo.net/8536079/
-------------------------------------------------------------------------------------------------------------------------
1. 创建一个jQuery选择器开始保存自己不必不断地重新浇铸成的。 在你发现你也不需要指定
select
又因为你是执行
.find()
在选择。 为了简明,我缓存的结果
.find()
为取出之前诺特尔选择变量。 以下的罚款。那么,它工作正常,如果
1
而不是
$(this).attr("id")
因为我不知道你指的同
$(this)
。
var $txt = $("<select name='example'><option value='1'>Test</option></select>"); //var $option = $txt.find("option[value='" + $(this).attr("id") + "']"); var $option = $txt.find("option[value='" + 1 + "']"); // selects option with value of 1 $option.remove(); // Removes option
工作演示 2. 你不应该“select
在你的选择。你有$()
使之成为jQuery对象优先位。之后,你可以操纵它。var txt = "<select name='example'><option value='1'>Test</option></select>", $txt = $(txt); $txt.find("option[value='" + $(this).attr("id") + "']").remove();
3.如果你期待的价值txt
改变它不会-jQuery将不会改变它(它不能,它是按值传递,而不是引用) CodeGo.net,它使一个伪DOM从它并删除的选项。没有永久的发生,虽然。 如果你想获取受影响的结果,你需要在容器中的整个事情,回读的HTML代码:var txt = "<p>this is a HTML <span>string</span></p>"; txt = $('<div />').append(txt).find('span').remove().end().html();
txt
现在有span
删除。
4.你开始与包含HTML的字符串,存储在txt
变量。当您打电话$(txt)
您正在创建包含在HTML字符串,从中分离出定义的jQuery对象的txt
变量。然后可以操作(在这种情况下试图取下),但由于它是独立于txt
所做的更改不会反映在它。 如果你想改变的值txt
是别人,你需要的值赋给回去吧,可能像这样(即调用.text()
给你你所expect/想看看)内容:txt = $(txt).find("select option[value='" + $(this).attr("id") + "']").remove().text();
5.没什么,txt
目前还只是一个String
。我猜你想要的DOM片段中的变量,这将是这样的:var txt = "<select name='example'><option value='1'>Test</option></select>"; var $domSnippet=$(txt); domSnippet.find("select option[value='" + $(this).attr("id") + "']").remove();
6.在remove()方法删除-所以他们必须在DOM中,由于TXT是其在DOM中,值的字符串表示不变量。你想更换()。var txt = "<select name='example'><option value='1'>Test</option></select>"; txt=txt.replace("<select name='example'><option value='1'>Test</option></select>","replacedText");
本文标题 :如何删除在使用jQuery变量的选项标签?
本文地址 :CodeGo.net/8536079/