Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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_Regex_String - Fatal编程技术网

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将其删除。