$(this).find在IE中工作但在Chrome / FF中不起作用

时间:2018-03-01 23:36:34

标签: jquery

此网站使用的是jQuery 1.8.2

以下代码适用于IE 11,但在Chrome / FF中不起作用:

    existingProduct = $(this).find(".csConditionCell").html();
    console.log('existingProduct : ' + existingProduct);

existingProduct只在Chrome / FF中打印出一个空白。在IE中它返回testValue

function postRatingControlTest(newCondition, rating, product) {

    var conditionFound = false;
    var rowCount = document.getElementById("hdnRowCount").value;
    var countryId = document.getElementById("hdnCountryId").value;
    rating = getRatingTranslation(countryId, rating);

    getHiddenRatings();

    var existingProduct;
    var existingRating;

    $('.csGridTable tr').each(function () {
        existingProduct = $(this).find(".csConditionCell").html();
        console.log('existingProduct : ' + existingProduct);

        if (existingProduct == newCondition) {
            existingRating = $(this).find(".csRatingCell").html();
            return false;
        }
    });

当我将existingProduct更改为:

existingProduct = $(this).html();
console.log('existingProduct : ' + existingProduct);

返回以下内容:

existingProduct : <td><input id="row0_condition" readonly="" class="csConditionCell" value="testValue"></td><td class="csAdjustmentCell"><input type="button" value="-" class="Actionbuttonstyle" style="width:20px;" onclick="adjustRating('-','0');"></td><td class="csAdjustmentCell"><input type="button" value="+" class="Actionbuttonstyle" style="width:20px;" onclick="adjustRating('+','0');"></td><td><input id="row0_rating" readonly="" class="csRatingCell" value="+0"></td><td><input id="row0_product" readonly="" class="csProductCell" value="Life"></td><td class="csDeleteCell"><input type="button" value="X" class="Actionbuttonstyle" style="width:20px;" onclick="deleteRatingRow(0);"></td>

是否有任何关于.find方法仅在IE中有效的信息?或者我做错了吗?

1 个答案:

答案 0 :(得分:2)

input.csConditionCell是输入元素,因此没有contentinnerHTML。您想使用$(this).find(".csConditionCell").val()

第二次find()尝试也是如此。如果这在IE11中有效,它只能证明想要的多么多的错误 - &#34;浏览器&#34;是