是否有一个选择器,我可以查询元素的ID,以给定的字符串结束?

假设我有一个元素的id为ctl00$ContentBody$txtTitle。我如何通过传递txtTitle得到这个?


当前回答

为了在包含多个iframe的页面中找到以“iframe”结尾的iframe id。

jQuery(document).ready(function (){     
                  jQuery("iframe").each(function(){                     
                    if( jQuery(this).attr('id').match(/_iFrame/) ) {
                            alert(jQuery(this).attr('id'));

                     }                   
                  });     
         });

其他回答

为了在包含多个iframe的页面中找到以“iframe”结尾的iframe id。

jQuery(document).ready(function (){     
                  jQuery("iframe").each(function(){                     
                    if( jQuery(this).attr('id').match(/_iFrame/) ) {
                            alert(jQuery(this).attr('id'));

                     }                   
                  });     
         });

如果你知道元素类型,那么:(例如:用'div'替换'element')

$("element[id$='txtTitle']")

如果你不知道元素类型:

$("[id$='txtTitle']")

更多资料


//旧的方法,需要精确的ID: document.getElementById("hi")。Value = "kk"; $(函数(){ $(“[id = ' txtTitle ']美元”).val(“zz”); }); < script src = " https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js " > < /脚本> <input id="ctl_blabla_txtTitle" type="text" />

Try

$("element[id$='txtTitle']");

编辑:4秒晚:P

试试这个:

<asp:HiddenField ID="0858674_h" Value="0" runat="server" />

var test = $(this).find('[id*="_h"').val();

因为这是ASP。NET,你可以简单地使用ASP <%= %>标签打印生成的txtTitle的ClientID:

$('<%= txtTitle.ClientID %>')

这将导致……

$('ctl00$ContentBody$txtTitle')

... 当页面呈现时。

注意:在Visual Studio中,智能感知会因为你在JavaScript中放入ASP标签而对你大喊大叫。您可以忽略这一点,因为结果是有效的JavaScript。