2011-01-10 42 views
0

这是我的HTML。使用.not过滤jquery选择

<code> 
    <div id="expfield0"> 

<div class="formrow"> 
<div class="formlabel"><label for="Memberresumeexp_Company Name">Company Name</label> </div> 
<div class="formtextfield"> 
<input size="30" maxlength="128" name="Memberresumeexp[0][companyname]" id="Memberresumeexp_0_companyname" type="text" value="" /> 
<span class="error"> </span> 

</div> 
</div> 


<div class="formrow"> 
<div class="formlabel"><label for="Memberresumeexp_Title">Title</label> </div> 
<div class="formtextfield"> 
<input size="30" maxlength="128" name="Memberresumeexp[0][title]" id="Memberresumeexp_0_title" type="text" value="" /> 
<span class="error"> </span> 
</div> 
</div> 

<div class="formrow"> 

<div class="formlabel"><label for="Memberresumeexp_Description">Description</label> </div> 
<div class="formtextfield"> 
<textarea name="Memberresumeexp[0][descr]" rows="8" cols="60"></textarea> 
</div> 


</div> <!-- end expfield0 --> 
    <code> 

在jquery中我试图选择div expfield0的内容,然后从选择中消除textarea。它不工作。这里是jQuery的片段。

<code>$('#expfield0').not('textarea[name=Memberresumeexp\\[0\\]\\[descr\\]').html()<code> 

我在做什么错在这里。

+3

你问5个问题并接受0个答案。为什么有人会努力帮助你? – Phrogz 2011-01-10 23:29:07

+0

抱歉没有意识到我必须接受答案。我只是感谢人们。现在就做。 – ramg 2011-01-11 10:12:01

回答

3

您正在选择#expfield0本身,而不是其子女,因此您无法从选择中排除特定的子女。

如果你真的想要得到的#expfield0移除了textarea的HTML中,你可以做这样的事情,在元素,而不是原来的拷贝工作:

$('#expfield0') 
    .clone() 
    .find('textarea') 
     .remove() 
    .end() 
    .html();