如何获取在Jquery中加载页面后添加的元素?

时间:2017-07-15 08:16:44

标签: jquery

这是我的代码,在页面加载后将li添加到ul:

if tries > 5:
    my_proxy = new_proxy_server

js(jQuery)在页面加载后将li添加到ul:

 <ul id='hints'></ul>

jQuery获取$("#hints").html(<li class='hint'>sometext</li>); 并改变它的风格:

.hint

$(document).on("keypress","#searchText",function (event){ var ltrChars = 'A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF'+'\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF', rtlChars = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC', rtlDirCheck = new RegExp('^[^'+ltrChars+']*['+rtlChars+']'); if(rtlDirCheck.test(String.fromCharCode(event.which))) { $(".hint").css("textAlign","right"); } else { $(".hint").css("textAlign","left"); } }); 无法访问!?

4 个答案:

答案 0 :(得分:0)

我不知道我是否理解您的问题但使用您的代码我能够访问$(".hint")的HTML内容。

在文本框中输入内容会记录li的HTML内容。 另外,通过检查<li>,您可以看到style="text-align: left;"已应用于<li>代码。

$(function() {
  //on load add one element to ul.
  $("#hints").html('<li class="hint">sometext</li>');

  // textbox keypress event
  $(document).on("keypress", "#searchText", function(event) {
    $(".hint").css("color", "red");
    console.log($(".hint").html())
  })
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id='hints'></ul>

<input type="text" value="" placeholder="search" id="searchText" />

答案 1 :(得分:0)

这适用于我,只是经过测试,尝试复制粘贴:(请注意,您不是要添加一个元素列表,而是设置单个元素列表,如果再次执行,则不会有两个而是一个)

$(function() {

// textbox keypress event
 $(document).on("keypress","#searchText",function (event){
    var ltrChars        = 'A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u0300-\u0590\u0800-\u1FFF'+'\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-\uFFFF',
        rtlChars        = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC',
        rtlDirCheck     = new RegExp('^[^'+ltrChars+']*['+rtlChars+']');
    if(rtlDirCheck.test(String.fromCharCode(event.which))){

        $(".hint").css("textAlign","right");

    }else{

        $(".hint").css("textAlign","left");

    }
})
  
  $("#hints").html('<li class="hint">sometext</li>');

  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id='hints'></ul>

<input type="text" value="" placeholder="search" id="searchText" />

答案 2 :(得分:0)

代码行中存在语法错误

$(&#34;#提示&#34)的HTML(sometext);

你必须使用&#34;&#34;在html()中。

$(&#34;#提示&#34)。HTML(的&#34; sometext的&#34; );

enter image description here

答案 3 :(得分:0)

我更改了jscript.js,并且它正常工作:

$(function() {
$(document).on("keyup","#searchText",function () {
var xhttp = new XMLHttpRequest();
xhttp.open("get", "hint.php?q="+ $(this).val(), true);
xhttp.send();
xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        $("#hints").show();
        $("#hints").html(this.responseText)
    }
  };
});
 $(document).on("keypress","#searchText",function (event){
    var ltrChars        = 'A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-
 \u02B8\u0300-\u0590\u0800-\u1FFF'+'\u2C00-\uFB1C\uFDFE-\uFE6F\uFEFD-
  \uFFFF',
        rtlChars        = '\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC',
        rtlDirCheck     = new RegExp('^[^'+ltrChars+']*['+rtlChars+']');
    if(rtlDirCheck.test(String.fromCharCode(event.which))){
        $(this).css("direction","rtl");
        $("#hints").css("textAlign","right");

    }else{
        $(this).css("direction","ltr");
        $("#hints").css("textAlign","left");
      }
  })
});