jquery检查元素'之后的字符出现情况;内容
我有这个:jquery检查元素'之后的字符出现情况;内容,jquery,regex,string,Jquery,Regex,String,我有这个: <div class="people"> <a class="deleteUser"> x </a> <a class="userLink"> John Malkovich </a> , <a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a> </div> 约翰·马尔科维奇,
<div class="people">
<a class="deleteUser"> x </a> <a class="userLink"> John Malkovich </a> ,
<a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a>
</div>
约翰·马尔科维奇,
阿德里安·穆图
单击“删除用户”链接,我希望能够:
-隐藏同一链接
-删除相对的“userLink”链接
-只有在“userLink”链接删除后出现昏迷时(这就是我需要帮助的地方!)
如何使用jquery检查元素内容后是否出现昏迷?
谢谢
Luca我会将两个
标签放在一个容器中:
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser" onclick="document.getElementById('person1_container').style.display = 'none';"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person2_container'><a class="deleteUser" onclick="document.getElementById('person2_container').style.display = 'none';"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
约翰·马尔科维奇,
阿德里安·穆图
然后可以隐藏整个容器:
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser" onclick="document.getElementById('person1_container').style.display = 'none';"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person2_container'><a class="deleteUser" onclick="document.getElementById('person2_container').style.display = 'none';"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
约翰·马尔科维奇,
阿德里安·穆图
我会将两个
标签放在一个容器中:
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser" onclick="document.getElementById('person1_container').style.display = 'none';"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person2_container'><a class="deleteUser" onclick="document.getElementById('person2_container').style.display = 'none';"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
约翰·马尔科维奇,
阿德里安·穆图
然后可以隐藏整个容器:
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person1_container'><a class="deleteUser"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
<div class="people">
<div class='person' id='person1_container'><a class="deleteUser" onclick="document.getElementById('person1_container').style.display = 'none';"> x </a> <a class="userLink">John Malkovich</a>,</div>
<div class='person' id='person2_container'><a class="deleteUser" onclick="document.getElementById('person2_container').style.display = 'none';"> x </a> <a class="userLink"> Adrian Mutu </a></div>
</div>
约翰·马尔科维奇,
阿德里安·穆图
我将重组您的数据:
<div class="people">
<div class="user"><a class="delete"> x </a> John Malkovitch,</div>
<div class="user"><a class="delete"> x </a> Adrian Mutu</div>
</div>
我将重组您的数据:
<div class="people">
<div class="user"><a class="delete"> x </a> John Malkovitch,</div>
<div class="user"><a class="delete"> x </a> Adrian Mutu</div>
</div>
给定原始标记,可以使用
.contents()
和.filter()
查找最后一个文本节点,该节点是,
小更新,解决逗号在中间的问题,删除尾逗号。
注意:如果您可以调整标记以将元素包装到另一个元素中,这将更容易实现编写示例。给定原始标记,可以使用
.contents()
和.filter()
查找最后一个文本节点,该节点是,
小更新,解决逗号在中间的问题,删除尾逗号。
注意:如果您可以调整标记以将元素包装到另一个元素中,这将更容易实现 编写示例。尝试以下操作:$(".deleteUser").click(function() {
var index = ($(this).index()+1)/2;
$(".people").contents().filter(function() {
return this.nodeType == 3 && $.trim($(this).text()) == ",";
}).eq(index).remove();
$(this).next(".userLink").remove().end().remove();
});
请参见尝试以下操作:
$(".deleteUser").click(function() {
var index = ($(this).index()+1)/2;
$(".people").contents().filter(function() {
return this.nodeType == 3 && $.trim($(this).text()) == ",";
}).eq(index).remove();
$(this).next(".userLink").remove().end().remove();
});
请参见解决方案删除最后一个coma而非中间解决方案删除最后一个coma而非中间用户列表由DB生成,我需要使用PHP“rtrim”最后一个coma,这与外部容器不起作用用户列表由DB生成,我需要“rtrim”最后一个coma是使用PHP的,而这个coma是使用外部容器的work@luka请再次参阅jsFiddle():是一个完整的解决方案。@Prakash,如果从中间删除
,后面的逗号将保留<代码>变量a=$(this).index()/2和.eq(a-1)
应该解决这个问题。感谢和+1的关注,有时候做得更快,可能会错过这样的事情:)@Prakash你能解释一下“remove().end().remove()”代表什么以及为什么“remove()”不够吗?remove()
首先删除类为“userLink”的a对象,然后是end()
遍历回到第一个选择器$(此)
这是一个类为'deleteUser'的节点,然后delete()
fxn将其删除。@luka再次看到jsFiddle():是一个完整的解决方案。@Prakash,如果从中间移除
,尾随的逗号将保留。var a=$(此).index()/2;
和.eq(a-1)
应该解决这个问题。感谢和+1的关注,有时做得更快,可能会错过这样的事情:)@Prakash您能解释一下“remove().end().remove()”代表什么以及为什么“remove()”不够吗?remove()
首先删除类为“userLink”的对象,然后是end()
遍历回第一个选择器$(此)
它是一个类为“deleteUser”的节点,然后delete()
fxn将其删除。