복붙노트

[JQUERY] 어떻게을 가진 요소를 선택 jQuery를받을 수 있나요. 자신의 ID에서 (기간)?

JQUERY

어떻게을 가진 요소를 선택 jQuery를받을 수 있나요. 자신의 ID에서 (기간)?

해결법


  1. 1.Google 그룹스에서 :

    Google 그룹스에서 :

    그래서, 난 당신이보고있는 것 같아요

    $(function() {
      $.getJSON("/Location/GetCountryList", null, function(data) {
        $("#Address\\.Country").fillSelect(data);
      });
      $("#Address\\.Country").change(function() {
        $.getJSON("/Location/GetRegionsForCountry", { country: $(this).val() }, function(data) {
          $("#Address\\.State").fillSelect(data);
        });
      });
    });
    

    또한 내가 CSS 표기법에 사용 된 문자가있는 ID로 요소를 선택하려면 어떻게 확인? JQuery와 자주 묻는 질문에.


  2. 2.ID가 공백이 포함 된 경우 당신은 jQuery를 아이디 선택기를 사용할 수 없습니다. 속성 선택기를 사용합니다 :

    ID가 공백이 포함 된 경우 당신은 jQuery를 아이디 선택기를 사용할 수 없습니다. 속성 선택기를 사용합니다 :

    $('[id=foo bar]').show();
    

    가능하면 요소 유형을뿐만 아니라 지정

    $('div[id=foo bar]').show();
    

  3. 3.jQuery를 위해 탈출 :

    jQuery를 위해 탈출 :

    function escapeSelector(s){
        return s.replace( /(:|\.|\[|\])/g, "\\$1" );
    }
    

    사용 예 :

    e.find('option[value='+escapeSelector(val)+']')
    

    여기에 더 많은 정보.


  4. 4.그냥이 문제를 해결 출시 된 ASP.NET MVC의 릴리스 후보는 지금 ID 속성에 대한 밑줄로 점을 대체합니다.

    그냥이 문제를 해결 출시 된 ASP.NET MVC의 릴리스 후보는 지금 ID 속성에 대한 밑줄로 점을 대체합니다.

    <%= Html.TextBox("Person.FirstName") %>
    

    에 렌더링

    <input type="text" name="Person.FirstName" id="Person_FirstName" />
    

    자세한 내용은 14 페이지에서 시작, 릴리스 정보를 볼 수 있습니다.


  5. 5.이것은 jQuery를 선택기 문서에 설명되어 있습니다 :

    이것은 jQuery를 선택기 문서에 설명되어 있습니다 :

    즉, 접두사. 다음과 같이 \\과 :

    $("#Address\\.Country")
    

    문제는 점이다. 특별한 의미를 가지고, 문자열 다음은 클래스 선택으로 해석됩니다. 그래서 $ ( '#의 Address.Country')는

    일치합니다.

    \\한다. 탈출 할 때, 점은 당신이 원하는 ID와 일치하는, 특별한 의미를 가진 일반 텍스트로 처리됩니다

    .

    이 모든 문자를 적용 "# $ % & '() * +, / :; <=> @ [\] ^`!.? {|}. ~ jQuery를의 선택과 같은 특별한 의미가 다른 것이다 단지의 앞에 추가 \\ 일반 텍스트로 처리합니다.

    bdukes 답변에서 언급 한 바와 같이, 우리는 2 개 \ 문자가 필요한 이유가있다. \ 자바 스크립트에서 다음 문자를 이스케이프합니다. 그 자체가 자바 스크립트 문자열 "#Address \ .Country는"이는 \를 참조 litterally 다음과 같은 특성을 가지고 문자열이 $에 인수로 전달 될 때를 제거하는 의미로 해석됩니다 해석 할 때 (). 수단 jQuery를 여전히 "#의 Address.Country"와 같은 문자열을 볼 수있다.

    의 그 두 번째는 \ 플레이에 들어오는 곳. 첫 번째는 리터럴 (비 특수) 문자로 두 번째를 해석 자바 스크립트를 알려줍니다. 두 번째는 jQuery를 볼 될 것이며이 수단은 다음과 같은 것을 이해합니다. 문자는 리터럴 문자입니다.

    휴! 어쩌면 우리는 그것을 시각화 할 수 있습니다.

    //    Javascript, the following \ is not special.
    //         | 
    //         |
    //         v    
    $("#Address\\.Country");
    //          ^ 
    //          |
    //          |
    //      jQuery, the following . is not special.
    

  6. 6.두 개의 백 슬래시 키우면 확인을 사용하여 작업을 키우면. 그러나 동적 이름을 사용하는 경우, 내가 변수 이름을 의미, 당신은 문자를 교체해야합니다.

    두 개의 백 슬래시 키우면 확인을 사용하여 작업을 키우면. 그러나 동적 이름을 사용하는 경우, 내가 변수 이름을 의미, 당신은 문자를 교체해야합니다.

    당신이 당신의 변수 이름을 변경하지 않을 경우이 작업을 수행 할 수 있습니다 :

    var variable="namewith.andother";    
    var jqueryObj = $(document.getElementById(variable));
    

    당신이 당신의 JQuery와 개체가보다.


  7. 7.그냥 추가 정보 : 이 ASP.NET MVC의 문제점 # 2403을 확인하십시오.

    그냥 추가 정보 : 이 ASP.NET MVC의 문제점 # 2403을 확인하십시오.

    문제가 해결 될 때까지, 나는 당신이 $ 같은 jQuery를 사용 그래서, 단순히 (이름이 아닌 속성에서) id 속성에 밑줄로 점을 대체 등 Html.TextBoxFixed 같은 내 자신의 확장 방법을 사용 ( "# Address_Street") 하지만 서버에, 그것은 Address.Street 같다.

    샘플 코드는 다음과 같습니다 :

    public static string TextBoxFixed(this HtmlHelper html, string name, string value)
    {
        return html.TextBox(name, value, GetIdAttributeObject(name));
    }
    
    public static string TextBoxFixed(this HtmlHelper html, string name, string value, object htmlAttributes)
    {
        return html.TextBox(name, value, GetIdAttributeObject(name, htmlAttributes));
    }
    
    private static IDictionary<string, object> GetIdAttributeObject(string name)
    {
        Dictionary<string, object> list = new Dictionary<string, object>(1);
        list["id"] = name.Replace('.', '_');
        return list;
    }
    
    private static IDictionary<string, object> GetIdAttributeObject(string name, object baseObject)
    {
        Dictionary<string, object> list = new Dictionary<string, object>();
        list.LoadFrom(baseObject);
        list["id"] = name.Replace('.', '_');
        return list;
    }
    

  8. 8.나는 JQuery와 문서에 의해 주어진 해결책으로 문제를 해결

    나는 JQuery와 문서에 의해 주어진 해결책으로 문제를 해결

    내 기능 :

    //funcion to replace special chars in ID of  HTML tag
    
    function jq(myid){
    
    
    //return "#" + myid.replace( /(:|\.|\[|\]|,)/g, "\\$1" );
    return myid.replace( /(:|\.|\[|\]|,)/g, "\\$1" );
    
    
    }
    

    참고 : 내 코드에서 내가 다른 텍스트로 ID를 CONCAT 때문에 내가 "#"을 제거

    폰트: JQuery와 문서는 특수 문자와 요소를 선택

  9. from https://stackoverflow.com/questions/350292/how-do-i-get-jquery-to-select-elements-with-a-period-in-their-id by cc-by-sa and MIT license