0

JQuery の行にバグが見つかりましたが、その処理方法がわかりません。

// Enable valid swatch images
$.each(sizes, function (index, element) {
    $("#variations img[alt='" + element + "']")
         .parent().removeClass("swatchDisabled").addClass("swatchEnabled");
});

問題は、img のセレクタにあります。alt 属性値にアポストロフィがあります。alt 値を簡単に変更することはできませんが、コード ロジックにとって重要な値が含まれているため、alt 値を使用する必要があります。

JQueryがそれを詰まらせないように、このaltタグに含まれるこれ/アポストロフィをエスケープする優雅な方法はありますか?


マクロを複数行実行する

1 つの行で動作するように作成されたマクロがあります。代わりに、強調表示されているすべての行でこのマクロを実行したいと考えています。

選択した行間をループして、それぞれに対してマクロを実行する方法はありますか。

会社の方針により、マクロ全体を表示することはできませんが、基本的には、Excel で値を 1 行で取得し、Word テンプレートに入力します。マクロの開始は次のとおりです。

Sub OpenForm()
With Selection
    Dim pappWord As Object
    Dim docWord As Object
    Dim wb As Excel.Workbook
    Dim TodayDate As String
    Dim Path As String

    Set wb = ActiveWorkbook
    TodayDate = Format(Date, "mmmm d, yyyy")
    Path = wb.Path & "\MAF Template.dot"

    On Error GoTo ErrorHandler

     'Create a new Word Session
    Set pappWord = CreateObject("Word.Application")

    On Error GoTo ErrorHandler

     'Open document in word
    Set docWord = pappWord.Documents.Add(Path)
    'Blank for Qty
    docWord.FormFields("Text38").Result = Range(ActiveCell.EntireRow.Address)(1, 2) 'Part of System (System ID)

....より多くのフィールドを入力し、次で終了します。

    With pappWord
        .Visible = True
        .ActiveWindow.WindowState = 0
        .Activate
    End With


     'Release the Word object to save memory and exit macro
ErrorExit:
    Set pappWord = Nothing
    Exit Sub

     'Error Handling routine
ErrorHandler:
    If Err Then
        MsgBox "Error No: " & Err.Number & "; There is a problem"
        If Not pappWord Is Nothing Then
            pappWord.Quit False
        End If
        Resume ErrorExit
    End If
End With
End Sub

したがって、すべての行に対してこれを実行するのではなく、単一の Excel 行に対して機能します。いくつかの行を選択し、それらすべてに対してマクロを実行したいと考えています。

ありがとう、

4

1 に答える 1

2
$("#variations img[alt='" + element.replace(/'/g, "\\'") + "']")

http://jsfiddle.net/UwEqs/

于 2012-07-03T21:49:57.493 に答える