如何用jQuery函数设置div的id?

时间:2015-06-06 23:03:42

标签: javascript jquery function jsp expander

我收到来自Servlets的Feed项目列表

<c:forEach items="${feedItemsList}" var="feedItem">
    <table class="contentItem">
        <tr>
            <td>
                <div id="block">
                    <a id="" href="javascript:showFeedItem(${feedItem.id});"><c:out
                            value="${feedItem.title}" /></a>
                </div>
                <div class="feedItemExpander" id="${feedItem.id}">...My
                    info...</div>
            </td>
        </tr>
    </table>
</c:forEach>

我想展开并使用id = $ {feedItem.id}折叠div。 点击

<a id="" href="javascript:showFeedItem(${feedItem.id});"><c:out
                            value="${feedItem.title}" /></a>

我将${feedItem.id}传递给jQuery函数。然后用id=${feedItem.id}显示div。 我的功能:

function showFeedItem(feedItemId) {
            $('.feedItemExpander').each(function(index) {
            if ($(this).attr("id") == feedItemId) {
                $(this).show(200);
            }
        });
    }

如何通过再次点击同一链接来折叠它?

1 个答案:

答案 0 :(得分:0)

要通过单击同一链接隐藏它,请检查该元素是否可见,然后根据该隐藏或显示该元素:

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{

    v = inflater.inflate(R.layout.faucetcards, container, false);
    r = (RecyclerView) v.findViewById(R.id.RecyclerView);
    rA = new RecyclerAdapter(generateCards(), getActivity());
    lm = new LinearLayoutManager(getActivity());
    r.setAdapter(rA);
    r.setLayoutManager(lm);

    sharedPref = getActivity().getPreferences(0);
    return v;
}


@Override
public void onResume()
{
    rA.updateTimes();
    super.onResume();
}